[gnome-applets] Add Brightness Applet
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-applets] Add Brightness Applet
- Date: Sat, 5 Sep 2015 15:31:43 +0000 (UTC)
commit e5dfd4c4ae4dcc52ac395f9d1b832d07a259a4d9
Author: Balló György <ballogyor gmail com>
Date: Sat Aug 29 16:06:06 2015 +0200
Add Brightness Applet
It was part of the gnome-power-manager project:
https://git.gnome.org/browse/gnome-power-manager/commit/?id=53dd7e73fbeaf5819898d85a7bae437cc0da27a9
Ported to GDBus and libpanel-applet 5. Now uses gnome-settings-daemon as backend.
Makefile.am | 4 +-
brightness/Makefile.am | 65 ++
brightness/brightness-applet-menu.xml | 6 +
brightness/brightness-applet.c | 892 ++++++++++++++++++++
brightness/icons/16x16/Makefile.am | 3 +
brightness/icons/16x16/apps/Makefile.am | 16 +
.../icons/16x16/apps/gnome-brightness-applet.png | Bin 0 -> 546 bytes
brightness/icons/16x16/status/Makefile.am | 18 +
.../16x16/status/gpm-brightness-lcd-disabled.png | Bin 0 -> 546 bytes
.../16x16/status/gpm-brightness-lcd-invalid.png | Bin 0 -> 546 bytes
.../icons/16x16/status/gpm-brightness-lcd.png | Bin 0 -> 546 bytes
brightness/icons/22x22/Makefile.am | 3 +
brightness/icons/22x22/apps/Makefile.am | 16 +
.../icons/22x22/apps/gnome-brightness-applet.png | Bin 0 -> 1157 bytes
brightness/icons/22x22/status/Makefile.am | 18 +
.../22x22/status/gpm-brightness-lcd-disabled.png | Bin 0 -> 1259 bytes
.../22x22/status/gpm-brightness-lcd-invalid.png | Bin 0 -> 1240 bytes
.../icons/22x22/status/gpm-brightness-lcd.png | Bin 0 -> 1157 bytes
brightness/icons/24x24/Makefile.am | 3 +
brightness/icons/24x24/apps/Makefile.am | 16 +
.../icons/24x24/apps/gnome-brightness-applet.png | Bin 0 -> 1160 bytes
brightness/icons/24x24/status/Makefile.am | 18 +
.../24x24/status/gpm-brightness-lcd-disabled.png | Bin 0 -> 2012 bytes
.../24x24/status/gpm-brightness-lcd-invalid.png | Bin 0 -> 1876 bytes
.../icons/24x24/status/gpm-brightness-lcd.png | Bin 0 -> 1160 bytes
brightness/icons/32x32/Makefile.am | 3 +
brightness/icons/32x32/apps/Makefile.am | 16 +
.../icons/32x32/apps/gnome-brightness-applet.png | Bin 0 -> 1791 bytes
brightness/icons/32x32/status/Makefile.am | 18 +
.../32x32/status/gpm-brightness-lcd-disabled.png | Bin 0 -> 2117 bytes
.../32x32/status/gpm-brightness-lcd-invalid.png | Bin 0 -> 2060 bytes
.../icons/32x32/status/gpm-brightness-lcd.png | Bin 0 -> 1791 bytes
brightness/icons/48x48/Makefile.am | 3 +
brightness/icons/48x48/apps/Makefile.am | 16 +
.../icons/48x48/apps/gnome-brightness-applet.png | Bin 0 -> 2844 bytes
brightness/icons/48x48/status/Makefile.am | 18 +
.../48x48/status/gpm-brightness-lcd-disabled.png | Bin 0 -> 3585 bytes
.../48x48/status/gpm-brightness-lcd-invalid.png | Bin 0 -> 3509 bytes
.../icons/48x48/status/gpm-brightness-lcd.png | Bin 0 -> 2844 bytes
brightness/icons/Makefile.am | 16 +
brightness/icons/scalable/Makefile.am | 3 +
brightness/icons/scalable/apps/Makefile.am | 16 +
.../scalable/apps/gnome-brightness-applet.svg | 91 ++
brightness/icons/scalable/status/Makefile.am | 18 +
.../status/gpm-brightness-lcd-disabled.svg | 245 ++++++
.../scalable/status/gpm-brightness-lcd-invalid.svg | 194 +++++
.../icons/scalable/status/gpm-brightness-lcd.svg | 91 ++
.../org.gnome.BrightnessApplet.panel-applet.in.in | 15 +
.../org.gnome.SettingsDaemon.Power.Screen.xml | 21 +
...panel.applet.BrightnessAppletFactory.service.in | 3 +
configure.ac | 20 +
po/POTFILES.in | 3 +
po/POTFILES.skip | 1 +
53 files changed, 1888 insertions(+), 1 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index b937123..a3ffebc 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -38,6 +38,7 @@ endif
always_built_SUBDIRS = \
charpick \
+ brightness \
drivemount \
inhibit \
geyes \
@@ -76,7 +77,8 @@ DIST_SUBDIRS = \
cpufreq \
invest-applet \
windowpicker \
- inhibit
+ inhibit \
+ brightness
EXTRA_DIST = \
MAINTAINERS \
diff --git a/brightness/Makefile.am b/brightness/Makefile.am
new file mode 100644
index 0000000..1b6ba1d
--- /dev/null
+++ b/brightness/Makefile.am
@@ -0,0 +1,65 @@
+SUBDIRS = icons
+
+AM_CPPFLAGS = \
+ -I. \
+ -I$(srcdir) \
+ -DBRIGHTNESS_MENU_UI_DIR=\""$(uidir)"\" \
+ $(GNOME_APPLETS_CFLAGS) \
+ $(WARN_CFLAGS) \
+ $(NULL)
+
+libexec_PROGRAMS=gnome-brightness-applet
+
+gnome_brightness_applet_SOURCES = \
+ dbus-brightness.h \
+ dbus-brightness.c \
+ brightness-applet.c
+
+gnome_brightness_applet_LDADD = \
+ $(GNOME_APPLETS_LIBS)
+
+dbus-brightness.h:
+dbus-brightness.c: org.gnome.SettingsDaemon.Power.Screen.xml Makefile.am
+ $(AM_V_GEN) gdbus-codegen \
+ --interface-prefix=org.gnome. \
+ --generate-c-code dbus-brightness \
+ --c-namespace DBus \
+ org.gnome.SettingsDaemon.Power.Screen.xml
+
+appletdir = $(LIBPANEL_APPLET_DIR)
+applet_in_files = org.gnome.BrightnessApplet.panel-applet.in
+applet_DATA = $(applet_in_files:.panel-applet.in=.panel-applet)
+
+$(applet_in_files): $(applet_in_files).in Makefile
+ $(AM_V_GEN)sed \
+ -e "s|\ LIBEXECDIR\@|$(libexecdir)|" \
+ -e "s|\ VERSION\@|$(PACKAGE_VERSION)|" \
+ $< > $@
+
+%.panel-applet: %.panel-applet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*po) ; $(INTLTOOL_MERGE)
$(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache
+
+servicedir = $(datadir)/dbus-1/services
+service_in_files = org.gnome.panel.applet.BrightnessAppletFactory.service.in
+service_DATA = $(service_in_files:.service.in=.service)
+
+org.gnome.panel.applet.BrightnessAppletFactory.service: $(service_in_files)
+ $(AM_V_GEN)sed \
+ -e "s|\ LIBEXECDIR\@|$(libexecdir)|" \
+ $< > $@
+
+uidir = $(pkgdatadir)/ui
+ui_DATA = brightness-applet-menu.xml
+
+BUILT_SOURCES = \
+ dbus-brightness.c \
+ dbus-brightness.h \
+ $(NULL)
+
+CLEANFILES = $(applet_DATA) $(applet_DATA).in $(BUILT_SOURCES) $(service_DATA)
+
+EXTRA_DIST = \
+ org.gnome.BrightnessApplet.panel-applet.in.in \
+ $(ui_DATA) \
+ $(service_in_files)
+
+-include $(top_srcdir)/git.mk
diff --git a/brightness/brightness-applet-menu.xml b/brightness/brightness-applet-menu.xml
new file mode 100644
index 0000000..ef688a8
--- /dev/null
+++ b/brightness/brightness-applet-menu.xml
@@ -0,0 +1,6 @@
+<section>
+ <item>
+ <attribute name="label" translatable="yes">_About</attribute>
+ <attribute name="action">brightness.about</attribute>
+ </item>
+</section>
diff --git a/brightness/brightness-applet.c b/brightness/brightness-applet.c
new file mode 100644
index 0000000..f8754c5
--- /dev/null
+++ b/brightness/brightness-applet.c
@@ -0,0 +1,892 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ *
+ * Brightness Applet
+ * Copyright (C) 2006 Benjamin Canou <bookeldor gmail com>
+ * Copyright (C) 2007 Richard Hughes <richard hughsie com>
+ *
+ * Licensed under the GNU General Public License Version 2
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <panel-applet.h>
+#include <gtk/gtk.h>
+#include <glib/gi18n.h>
+#include <gdk/gdkkeysyms.h>
+#include <glib-object.h>
+
+#include "dbus-brightness.h"
+
+#define GPM_TYPE_BRIGHTNESS_APPLET (gpm_brightness_applet_get_type ())
+#define GPM_BRIGHTNESS_APPLET(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GPM_TYPE_BRIGHTNESS_APPLET,
GpmBrightnessApplet))
+#define GPM_BRIGHTNESS_APPLET_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GPM_TYPE_BRIGHTNESS_APPLET,
GpmBrightnessAppletClass))
+#define GPM_IS_BRIGHTNESS_APPLET(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GPM_TYPE_BRIGHTNESS_APPLET))
+#define GPM_IS_BRIGHTNESS_APPLET_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GPM_TYPE_BRIGHTNESS_APPLET))
+#define GPM_BRIGHTNESS_APPLET_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GPM_TYPE_BRIGHTNESS_APPLET,
GpmBrightnessAppletClass))
+
+typedef struct{
+ PanelApplet parent;
+ /* applet state */
+ gboolean popped; /* the popup is shown */
+ /* the popup and its widgets */
+ GtkWidget *popup, *slider, *btn_plus, *btn_minus;
+ /* the icon */
+ GtkWidget *image;
+ /* connection to g-s-d */
+ DBusSettingsDaemonPowerScreen *proxy;
+ guint bus_watch_id;
+ gint level;
+} GpmBrightnessApplet;
+
+typedef struct{
+ PanelAppletClass parent_class;
+} GpmBrightnessAppletClass;
+
+GType gpm_brightness_applet_get_type (void);
+
+#define GSD_DBUS_SERVICE "org.gnome.SettingsDaemon"
+#define GSD_DBUS_PATH_POWER "/org/gnome/SettingsDaemon/Power"
+
+static void gpm_brightness_applet_class_init (GpmBrightnessAppletClass *klass);
+static void gpm_brightness_applet_init (GpmBrightnessApplet *applet);
+
+G_DEFINE_TYPE (GpmBrightnessApplet, gpm_brightness_applet, PANEL_TYPE_APPLET)
+
+static void gpm_applet_update_icon (GpmBrightnessApplet *applet);
+static void gpm_applet_size_allocate_cb (GtkWidget *widget, GdkRectangle *allocation);
+static gboolean gpm_applet_destroy_popup_cb (GpmBrightnessApplet *applet);
+static void gpm_applet_update_tooltip (GpmBrightnessApplet *applet);
+static void gpm_applet_update_popup_level (GpmBrightnessApplet *applet);
+static gboolean gpm_applet_plus_cb (GtkWidget *w, GpmBrightnessApplet *applet);
+static gboolean gpm_applet_minus_cb (GtkWidget *w, GpmBrightnessApplet *applet);
+static gboolean gpm_applet_key_press_cb (GtkWidget *popup, GdkEventKey *event, GpmBrightnessApplet
*applet);
+static gboolean gpm_applet_scroll_cb (GpmBrightnessApplet *applet, GdkEventScroll *event);
+static gboolean gpm_applet_slide_cb (GtkWidget *w, GpmBrightnessApplet *applet);
+static void gpm_applet_create_popup (GpmBrightnessApplet *applet);
+static gboolean gpm_applet_popup_cb (GpmBrightnessApplet *applet, GdkEventButton *event);
+static void gpm_applet_dialog_about_cb (GSimpleAction *action, GVariant *parameter, gpointer
data);
+static void gpm_applet_destroy_cb (GtkWidget *widget);
+
+#define GPM_BRIGHTNESS_APPLET_ID "BrightnessApplet"
+#define GPM_BRIGHTNESS_APPLET_FACTORY_ID "BrightnessAppletFactory"
+#define GPM_BRIGHTNESS_APPLET_ICON "gnome-brightness-applet"
+#define GPM_BRIGHTNESS_APPLET_ICON_BRIGHTNESS "gpm-brightness-lcd"
+#define GPM_BRIGHTNESS_APPLET_ICON_DISABLED "gpm-brightness-lcd-disabled"
+#define GPM_BRIGHTNESS_APPLET_ICON_INVALID "gpm-brightness-lcd-invalid"
+#define GPM_BRIGHTNESS_APPLET_NAME _("Brightness Applet")
+#define GPM_BRIGHTNESS_APPLET_DESC _("Adjusts laptop panel brightness.")
+#define PANEL_APPLET_VERTICAL(p) \
+ (((p) == PANEL_APPLET_ORIENT_LEFT) || ((p) == PANEL_APPLET_ORIENT_RIGHT))
+
+/**
+ * gpm_applet_get_brightness:
+ * Return value: Success value, or zero for failure
+ **/
+static gboolean
+gpm_applet_get_brightness (GpmBrightnessApplet *applet)
+{
+ if (applet->proxy == NULL) {
+ g_warning ("not connected\n");
+ return FALSE;
+ }
+
+ applet->level = dbus_settings_daemon_power_screen_get_brightness (applet->proxy);
+
+ return TRUE;
+}
+
+/**
+ * gpm_applet_update_icon:
+ * @applet: Brightness applet instance
+ *
+ * retrieve an icon from stock with a size adapted to panel
+ **/
+static void
+gpm_applet_update_icon (GpmBrightnessApplet *applet)
+{
+ const gchar *icon;
+
+ /* get icon */
+ if (applet->proxy == NULL) {
+ icon = GPM_BRIGHTNESS_APPLET_ICON_INVALID;
+ } else if (applet->level == -1) {
+ icon = GPM_BRIGHTNESS_APPLET_ICON_DISABLED;
+ } else {
+ icon = GPM_BRIGHTNESS_APPLET_ICON_BRIGHTNESS;
+ }
+
+ gtk_image_set_from_icon_name (GTK_IMAGE(applet->image),
+ icon,
+ GTK_ICON_SIZE_BUTTON);
+}
+
+/**
+ * gpm_applet_size_allocate_cb:
+ * @applet: Brightness applet instance
+ *
+ * resize icon when panel size changed
+ **/
+static void
+gpm_applet_size_allocate_cb (GtkWidget *widget,
+ GdkRectangle *allocation)
+{
+ GpmBrightnessApplet *applet = GPM_BRIGHTNESS_APPLET (widget);
+ int size = NULL;
+
+ switch (panel_applet_get_orient (PANEL_APPLET (applet))) {
+ case PANEL_APPLET_ORIENT_LEFT:
+ case PANEL_APPLET_ORIENT_RIGHT:
+ size = allocation->width;
+ break;
+
+ case PANEL_APPLET_ORIENT_UP:
+ case PANEL_APPLET_ORIENT_DOWN:
+ size = allocation->height;
+ break;
+ }
+
+ /* copied from button-widget.c in the panel */
+ if (size < 22)
+ size = 16;
+ else if (size < 24)
+ size = 22;
+ else if (size < 32)
+ size = 24;
+ else if (size < 48)
+ size = 32;
+ else
+ size = 48;
+
+ /* GtkImage already contains a check to do nothing if it's the same */
+ gtk_image_set_pixel_size (GTK_IMAGE(applet->image), size);
+}
+
+/**
+ * gpm_applet_destroy_popup_cb:
+ * @applet: Brightness applet instance
+ *
+ * destroys the popup (called if orientation has changed)
+ **/
+static gboolean
+gpm_applet_destroy_popup_cb (GpmBrightnessApplet *applet)
+{
+ if (applet->popup != NULL) {
+ gtk_widget_destroy (applet->popup);
+ applet->popup = NULL;
+ applet->popped = FALSE;
+ gpm_applet_update_tooltip (applet);
+ }
+ return TRUE;
+}
+
+/**
+ * gpm_applet_update_tooltip:
+ * @applet: Brightness applet instance
+ *
+ * sets tooltip's content (percentage or disabled)
+ **/
+static void
+gpm_applet_update_tooltip (GpmBrightnessApplet *applet)
+{
+ gchar *buf = NULL;
+ if (applet->popped == FALSE) {
+ if (applet->proxy == NULL) {
+ buf = g_strdup (_("Cannot connect to gnome-settings-daemon"));
+ } else if (applet->level == -1) {
+ buf = g_strdup (_("Cannot get laptop panel brightness"));
+ } else {
+ buf = g_strdup_printf (_("LCD brightness : %d%%"), applet->level);
+ }
+ gtk_widget_set_tooltip_text (GTK_WIDGET(applet), buf);
+ } else {
+ gtk_widget_set_tooltip_text (GTK_WIDGET(applet), NULL);
+ }
+ g_free (buf);
+}
+
+/**
+ * gpm_applet_update_popup_level:
+ * @applet: Brightness applet instance
+ *
+ * updates popup level of brightness
+ **/
+static void
+gpm_applet_update_popup_level (GpmBrightnessApplet *applet)
+{
+ if (applet->popup != NULL) {
+ gtk_widget_set_sensitive (applet->btn_plus, applet->level < 100);
+ gtk_widget_set_sensitive (applet->btn_minus, applet->level > 0);
+ gtk_range_set_value (GTK_RANGE(applet->slider), (guint) applet->level);
+ }
+ gpm_applet_update_tooltip (applet);
+}
+
+/**
+ * gpm_applet_step_up_cb:
+ * @source_object: the object the asynchronous operation was started with
+ * @res: a GAsyncResult
+ * @user_data: Brightness applet instance
+ *
+ * callback for the StepDown D-Bus response
+ **/
+static void
+gpm_applet_step_up_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
+{
+ GpmBrightnessApplet *applet = GPM_BRIGHTNESS_APPLET (user_data);
+ GError *error = NULL;
+ gboolean ret;
+
+ ret = dbus_settings_daemon_power_screen_call_step_up_finish (applet->proxy, &applet->level, NULL,
res, &error);
+ if (error) {
+ g_debug ("ERROR: %s\n", error->message);
+ g_error_free (error);
+ }
+ if (ret) {
+ gpm_applet_update_popup_level (applet);
+ } else {
+ /* abort as the DBUS method failed */
+ g_warning ("StepUp brightness failed!");
+ }
+
+ return;
+}
+
+/**
+ * gpm_applet_plus_cb:
+ * @widget: The sending widget (plus button)
+ * @applet: Brightness applet instance
+ *
+ * callback for the plus button
+ **/
+static gboolean
+gpm_applet_plus_cb (GtkWidget *w, GpmBrightnessApplet *applet)
+{
+ if (applet->level == 100)
+ return TRUE;
+
+ if (applet->proxy == NULL) {
+ g_warning ("not connected");
+ return FALSE;
+ }
+
+ dbus_settings_daemon_power_screen_call_step_up (applet->proxy, NULL, gpm_applet_step_up_cb, applet);
+
+ return TRUE;
+}
+
+/**
+ * gpm_applet_step_down_cb:
+ * @source_object: the object the asynchronous operation was started with
+ * @res: a GAsyncResult
+ * @user_data: Brightness applet instance
+ *
+ * callback for the StepDown D-Bus response
+ **/
+static void
+gpm_applet_step_down_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
+{
+ GpmBrightnessApplet *applet = GPM_BRIGHTNESS_APPLET (user_data);
+ GError *error = NULL;
+ gboolean ret;
+
+ ret = dbus_settings_daemon_power_screen_call_step_down_finish (applet->proxy, &applet->level, NULL,
res, &error);
+ if (error) {
+ g_debug ("ERROR: %s\n", error->message);
+ g_error_free (error);
+ }
+ if (ret) {
+ gpm_applet_update_popup_level (applet);
+ } else {
+ /* abort as the DBUS method failed */
+ g_warning ("StepDown brightness failed!");
+ }
+
+ return;
+}
+
+/**
+ * gpm_applet_minus_cb:
+ * @widget: The sending widget (minus button)
+ * @applet: Brightness applet instance
+ *
+ * callback for the minus button
+ **/
+static gboolean
+gpm_applet_minus_cb (GtkWidget *w, GpmBrightnessApplet *applet)
+{
+ if (applet->level == 0)
+ return TRUE;
+
+ if (applet->proxy == NULL) {
+ g_warning ("not connected");
+ return FALSE;
+ }
+
+ dbus_settings_daemon_power_screen_call_step_down (applet->proxy, NULL, gpm_applet_step_down_cb,
applet);
+
+ return TRUE;
+}
+
+/**
+ * gpm_applet_slide_cb:
+ * @widget: The sending widget (slider)
+ * @applet: Brightness applet instance
+ *
+ * callback for the slider
+ **/
+static gboolean
+gpm_applet_slide_cb (GtkWidget *w, GpmBrightnessApplet *applet)
+{
+ if (applet->proxy == NULL) {
+ g_warning ("not connected");
+ return FALSE;
+ }
+
+ applet->level = gtk_range_get_value (GTK_RANGE(applet->slider));
+ dbus_settings_daemon_power_screen_set_brightness (applet->proxy, applet->level);
+ gpm_applet_update_popup_level (applet);
+
+ return TRUE;
+}
+
+/**
+ * gpm_applet_key_press_cb:
+ * @applet: Brightness applet instance
+ * @event: The key press event
+ *
+ * callback handling keyboard
+ * escape to unpop
+ **/
+static gboolean
+gpm_applet_key_press_cb (GtkWidget *popup, GdkEventKey *event, GpmBrightnessApplet *applet)
+{
+ switch (event->keyval) {
+ case GDK_KEY_KP_Enter:
+ case GDK_KEY_ISO_Enter:
+ case GDK_KEY_3270_Enter:
+ case GDK_KEY_Return:
+ case GDK_KEY_space:
+ case GDK_KEY_KP_Space:
+ case GDK_KEY_Escape:
+ /* if yet popped, hide */
+ if (applet->popped) {
+ gtk_widget_hide (applet->popup);
+ applet->popped = FALSE;
+ gpm_applet_update_tooltip (applet);
+ return TRUE;
+ } else {
+ return FALSE;
+ }
+ break;
+ default:
+ return FALSE;
+ break;
+ }
+
+ return FALSE;
+}
+
+/**
+ * gpm_applet_scroll_cb:
+ * @applet: Brightness applet instance
+ * @event: The scroll event
+ *
+ * callback handling mouse scrolls, when the mouse is over
+ * the applet.
+ **/
+static gboolean
+gpm_applet_scroll_cb (GpmBrightnessApplet *applet, GdkEventScroll *event)
+{
+ if (event->type == GDK_SCROLL) {
+ if (event->direction == GDK_SCROLL_UP) {
+ gpm_applet_plus_cb (NULL, applet);
+ } else {
+ gpm_applet_minus_cb (NULL, applet);
+ }
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+/**
+ * on_popup_button_press:
+ * @applet: Brightness applet instance
+ * @event: The button press event
+ *
+ * hide popup on focus loss.
+ **/
+static gboolean
+on_popup_button_press (GtkWidget *widget,
+ GdkEventButton *event,
+ GpmBrightnessApplet *applet)
+{
+ GtkWidget *event_widget;
+
+ if (event->type != GDK_BUTTON_PRESS) {
+ return FALSE;
+ }
+ event_widget = gtk_get_event_widget ((GdkEvent *)event);
+ g_debug ("Button press: %p dock=%p", event_widget, widget);
+ if (event_widget == widget) {
+ gtk_widget_hide (applet->popup);
+ applet->popped = FALSE;
+ gpm_applet_update_tooltip (applet);
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+/**
+ * gpm_applet_create_popup:
+ * @applet: Brightness applet instance
+ *
+ * cretes a new popup according to orientation of panel
+ **/
+static void
+gpm_applet_create_popup (GpmBrightnessApplet *applet)
+{
+ static GtkWidget *box, *frame;
+ gint orientation = panel_applet_get_orient (PANEL_APPLET (PANEL_APPLET (applet)));
+
+ gpm_applet_destroy_popup_cb (applet);
+
+ /* slider */
+ if (PANEL_APPLET_VERTICAL(orientation)) {
+ applet->slider = gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, 0, 100, 1);
+ gtk_widget_set_size_request (applet->slider, 100, -1);
+ } else {
+ applet->slider = gtk_scale_new_with_range (GTK_ORIENTATION_VERTICAL, 0, 100, 1);
+ gtk_widget_set_size_request (applet->slider, -1, 100);
+ }
+ gtk_range_set_inverted (GTK_RANGE(applet->slider), TRUE);
+ gtk_scale_set_draw_value (GTK_SCALE(applet->slider), FALSE);
+ gtk_range_set_value (GTK_RANGE(applet->slider), (guint) applet->level);
+ g_signal_connect (G_OBJECT(applet->slider), "value-changed", G_CALLBACK(gpm_applet_slide_cb), applet);
+
+ /* minus button */
+ applet->btn_minus = gtk_button_new_with_label ("\342\210\222"); /* U+2212 MINUS SIGN */
+ gtk_button_set_relief (GTK_BUTTON(applet->btn_minus), GTK_RELIEF_NONE);
+ gtk_widget_set_can_focus (applet->btn_minus, FALSE);
+ g_signal_connect (G_OBJECT(applet->btn_minus), "pressed", G_CALLBACK(gpm_applet_minus_cb), applet);
+
+ /* plus button */
+ applet->btn_plus = gtk_button_new_with_label ("+");
+ gtk_button_set_relief (GTK_BUTTON(applet->btn_plus), GTK_RELIEF_NONE);
+ gtk_widget_set_can_focus (applet->btn_plus, FALSE);
+ g_signal_connect (G_OBJECT(applet->btn_plus), "pressed", G_CALLBACK(gpm_applet_plus_cb), applet);
+
+ /* box */
+ if (PANEL_APPLET_VERTICAL(orientation)) {
+ box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 1);
+ } else {
+ box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 1);
+ }
+ gtk_box_pack_start (GTK_BOX(box), applet->btn_plus, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX(box), applet->slider, TRUE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX(box), applet->btn_minus, FALSE, FALSE, 0);
+
+ /* frame */
+ frame = gtk_frame_new (NULL);
+ gtk_frame_set_shadow_type (GTK_FRAME(frame), GTK_SHADOW_OUT);
+ gtk_container_add (GTK_CONTAINER(frame), box);
+
+ /* window */
+ applet->popup = gtk_window_new (GTK_WINDOW_POPUP);
+ gtk_window_set_type_hint (GTK_WINDOW(applet->popup), GDK_WINDOW_TYPE_HINT_UTILITY);
+ gtk_container_add (GTK_CONTAINER(applet->popup), frame);
+
+ /* window events */
+ g_signal_connect (G_OBJECT(applet->popup), "button-press-event",
+ G_CALLBACK (on_popup_button_press), applet);
+
+ g_signal_connect (G_OBJECT(applet->popup), "key-press-event",
+ G_CALLBACK(gpm_applet_key_press_cb), applet);
+}
+
+/**
+ * gpm_applet_popup_cb:
+ * @applet: Brightness applet instance
+ *
+ * pops and unpops
+ **/
+static gboolean
+gpm_applet_popup_cb (GpmBrightnessApplet *applet, GdkEventButton *event)
+{
+ GtkAllocation allocation, popup_allocation;
+ gint orientation, x, y;
+ GdkWindow *window;
+ GdkDisplay *display;
+ GdkDeviceManager *device_manager;
+ GdkDevice *pointer;
+ GdkDevice *keyboard;
+
+ /* react only to left mouse button */
+ if (event->button != 1) {
+ return FALSE;
+ }
+
+ /* if yet popped, release focus and hide */
+ if (applet->popped) {
+ gtk_widget_hide (applet->popup);
+ applet->popped = FALSE;
+ gpm_applet_update_tooltip (applet);
+ return TRUE;
+ }
+
+ /* don't show the popup if brightness is unavailable */
+ if (applet->level == -1) {
+ return FALSE;
+ }
+
+ /* otherwise pop */
+ applet->popped = TRUE;
+
+ /* create a new popup (initial or if panel parameters changed) */
+ if (applet->popup == NULL) {
+ gpm_applet_create_popup (applet);
+ }
+
+ /* update UI for current brightness */
+ gpm_applet_update_popup_level (applet);
+
+ gtk_widget_show_all (applet->popup);
+
+ /* retrieve geometry parameters and move window appropriately */
+ orientation = panel_applet_get_orient (PANEL_APPLET (PANEL_APPLET (applet)));
+ gdk_window_get_origin (gtk_widget_get_window (GTK_WIDGET(applet)), &x, &y);
+
+ gtk_widget_get_allocation (GTK_WIDGET (applet), &allocation);
+ gtk_widget_get_allocation (GTK_WIDGET (applet->popup), &popup_allocation);
+ switch (orientation) {
+ case PANEL_APPLET_ORIENT_DOWN:
+ x += allocation.x + allocation.width/2;
+ y += allocation.y + allocation.height;
+ x -= popup_allocation.width/2;
+ break;
+ case PANEL_APPLET_ORIENT_UP:
+ x += allocation.x + allocation.width/2;
+ y += allocation.y;
+ x -= popup_allocation.width/2;
+ y -= popup_allocation.height;
+ break;
+ case PANEL_APPLET_ORIENT_RIGHT:
+ y += allocation.y + allocation.height/2;
+ x += allocation.x + allocation.width;
+ y -= popup_allocation.height/2;
+ break;
+ case PANEL_APPLET_ORIENT_LEFT:
+ y += allocation.y + allocation.height/2;
+ x += allocation.x;
+ x -= popup_allocation.width;
+ y -= popup_allocation.height/2;
+ break;
+ default:
+ g_assert_not_reached ();
+ }
+
+ gtk_window_move (GTK_WINDOW (applet->popup), x, y);
+
+ /* grab input */
+ window = gtk_widget_get_window (GTK_WIDGET (applet->popup));
+ display = gdk_window_get_display (window);
+ device_manager = gdk_display_get_device_manager (display);
+ pointer = gdk_device_manager_get_client_pointer (device_manager);
+ keyboard = gdk_device_get_associated_device (pointer);
+ gdk_device_grab (pointer, window,
+ GDK_OWNERSHIP_NONE, TRUE,
+ GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK,
+ NULL, GDK_CURRENT_TIME);
+ gdk_device_grab (keyboard, window,
+ GDK_OWNERSHIP_NONE, TRUE,
+ GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK,
+ NULL, GDK_CURRENT_TIME);
+
+ return TRUE;
+}
+
+/**
+ * gpm_applet_dialog_about_cb:
+ *
+ * displays about dialog
+ **/
+static void
+gpm_applet_dialog_about_cb (GSimpleAction *action, GVariant *parameter, gpointer data)
+{
+ GtkAboutDialog *about;
+
+ GdkPixbuf *logo =
+ gtk_icon_theme_load_icon (gtk_icon_theme_get_default (),
+ GPM_BRIGHTNESS_APPLET_ICON,
+ 128, 0, NULL);
+
+ static const gchar *authors[] = {
+ "Benjamin Canou <bookeldor gmail com>",
+ "Richard Hughes <richard hughsie com>",
+ NULL
+ };
+ const char *license[] = {
+ N_("Licensed under the GNU General Public License Version 2"),
+ N_("Brightness Applet is free software; you can redistribute it and/or\n"
+ "modify it under the terms of the GNU General Public License\n"
+ "as published by the Free Software Foundation; either version 2\n"
+ "of the License, or (at your option) any later version."),
+ N_("Brightness Applet is distributed in the hope that it will be useful,\n"
+ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+ "GNU General Public License for more details."),
+ N_("You should have received a copy of the GNU General Public License\n"
+ "along with this program; if not, write to the Free Software\n"
+ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA\n"
+ "02110-1301, USA.")
+ };
+ const char *translator_credits = NULL;
+ char *license_trans;
+
+ license_trans = g_strconcat (_(license[0]), "\n\n", _(license[1]), "\n\n",
+ _(license[2]), "\n\n", _(license[3]), "\n", NULL);
+
+ about = (GtkAboutDialog*) gtk_about_dialog_new ();
+ gtk_about_dialog_set_program_name (about, GPM_BRIGHTNESS_APPLET_NAME);
+ gtk_about_dialog_set_version (about, VERSION);
+ gtk_about_dialog_set_copyright (about, _("Copyright \xc2\xa9 2006 Benjamin Canou"));
+ gtk_about_dialog_set_comments (about, GPM_BRIGHTNESS_APPLET_DESC);
+ gtk_about_dialog_set_authors (about, authors);
+ gtk_about_dialog_set_translator_credits (about, translator_credits);
+ gtk_about_dialog_set_logo (about, logo);
+ gtk_about_dialog_set_license (about, license_trans);
+
+ g_signal_connect (G_OBJECT(about), "response",
+ G_CALLBACK(gtk_widget_destroy), NULL);
+
+ gtk_widget_show (GTK_WIDGET(about));
+
+ g_free (license_trans);
+ g_object_unref (logo);
+}
+
+/**
+ * gpm_applet_destroy_cb:
+ * @widget: Class instance to destroy
+ **/
+static void
+gpm_applet_destroy_cb (GtkWidget *widget)
+{
+ GpmBrightnessApplet *applet = GPM_BRIGHTNESS_APPLET (widget);
+
+ g_bus_unwatch_name (applet->bus_watch_id);
+}
+
+/**
+ * gpm_brightness_applet_class_init:
+ * @klass: Class instance
+ **/
+static void
+gpm_brightness_applet_class_init (GpmBrightnessAppletClass *class)
+{
+ /* nothing to do here */
+}
+
+static void
+brightness_changed_cb (GDBusProxy *proxy,
+ GVariant *changed_properties,
+ GVariant *invalidated_properties,
+ GpmBrightnessApplet *applet)
+{
+ gpm_applet_get_brightness (applet);
+ gpm_applet_update_tooltip (applet);
+ gpm_applet_update_icon (applet);
+}
+
+/**
+ * gpm_brightness_applet_dbus_connect:
+ **/
+static gboolean
+gpm_brightness_applet_dbus_connect (GpmBrightnessApplet *applet)
+{
+ GError *error = NULL;
+
+ if (applet->proxy == NULL) {
+ g_debug ("get proxy\n");
+ g_clear_error (&error);
+ applet->proxy = dbus_settings_daemon_power_screen_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
+
G_DBUS_PROXY_FLAGS_NONE,
+ GSD_DBUS_SERVICE,
+ GSD_DBUS_PATH_POWER,
+ NULL,
+ &error);
+ if (error != NULL) {
+ g_warning ("Cannot connect, maybe the daemon is not running: %s\n", error->message);
+ g_error_free (error);
+ applet->proxy = NULL;
+ return FALSE;
+ }
+ g_signal_connect (applet->proxy, "g-properties-changed",
+ G_CALLBACK (brightness_changed_cb), applet);
+ /* reset, we might be starting race */
+ gpm_applet_get_brightness (applet);
+ }
+ return TRUE;
+}
+
+/**
+ * gpm_brightness_applet_dbus_disconnect:
+ **/
+static gboolean
+gpm_brightness_applet_dbus_disconnect (GpmBrightnessApplet *applet)
+{
+ if (applet->proxy != NULL) {
+ g_debug ("removing proxy\n");
+ g_object_unref (applet->proxy);
+ applet->proxy = NULL;
+ }
+ applet->level = -1;
+ return TRUE;
+}
+
+/**
+ * gpm_brightness_applet_name_appeared_cb:
+ **/
+static void
+gpm_brightness_applet_name_appeared_cb (GDBusConnection *connection, const gchar *name, const gchar
*name_owner, GpmBrightnessApplet *applet)
+{
+ gpm_brightness_applet_dbus_connect (applet);
+ gpm_applet_update_tooltip (applet);
+ gpm_applet_update_icon (applet);
+}
+
+/**
+ * gpm_brightness_applet_name_vanished_cb:
+ **/
+static void
+gpm_brightness_applet_name_vanished_cb (GDBusConnection *connection, const gchar *name, GpmBrightnessApplet
*applet)
+{
+ gpm_brightness_applet_dbus_disconnect (applet);
+ gpm_applet_update_tooltip (applet);
+ gpm_applet_update_icon (applet);
+}
+
+/**
+ * gpm_brightness_applet_init:
+ * @applet: Brightness applet instance
+ **/
+static void
+gpm_brightness_applet_init (GpmBrightnessApplet *applet)
+{
+ /* initialize fields */
+ applet->popped = FALSE;
+ applet->popup = NULL;
+ applet->level = -1;
+ applet->image = NULL;
+ applet->proxy = NULL;
+
+ /* Add application specific icons to search path */
+ gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (),
+ PKG_DATA_DIR G_DIR_SEPARATOR_S "icons");
+
+ /* monitor the daemon */
+ applet->bus_watch_id =
+ g_bus_watch_name (G_BUS_TYPE_SESSION,
+ GSD_DBUS_SERVICE,
+ G_BUS_NAME_WATCHER_FLAGS_NONE,
+ (GBusNameAppearedCallback) gpm_brightness_applet_name_appeared_cb,
+ (GBusNameVanishedCallback) gpm_brightness_applet_name_vanished_cb,
+ applet, NULL);
+
+ /* prepare */
+ panel_applet_set_flags (PANEL_APPLET (applet), PANEL_APPLET_EXPAND_MINOR);
+ gtk_widget_set_events (GTK_WIDGET (applet), GDK_SCROLL_MASK);
+ applet->image = gtk_image_new();
+ gtk_container_add (GTK_CONTAINER (applet), applet->image);
+
+ /* show */
+ gtk_widget_show_all (GTK_WIDGET(applet));
+
+ /* connect */
+ g_signal_connect (G_OBJECT(applet), "button-press-event",
+ G_CALLBACK(gpm_applet_popup_cb), NULL);
+
+ g_signal_connect (G_OBJECT(applet), "scroll-event",
+ G_CALLBACK(gpm_applet_scroll_cb), NULL);
+
+ g_signal_connect (G_OBJECT(applet), "change-orient",
+ G_CALLBACK(gpm_applet_destroy_popup_cb), NULL);
+
+ g_signal_connect (G_OBJECT(applet), "size-allocate",
+ G_CALLBACK(gpm_applet_size_allocate_cb), NULL);
+
+ g_signal_connect (G_OBJECT(applet), "destroy",
+ G_CALLBACK(gpm_applet_destroy_cb), NULL);
+}
+
+/**
+ * gpm_applet_cb:
+ * @_applet: GpmBrightnessApplet instance created by the applet factory
+ * @iid: Applet id
+ *
+ * the function called by libpanel-applet factory after creation
+ **/
+static gboolean
+gpm_applet_cb (PanelApplet *_applet, const gchar *iid, gpointer data)
+{
+ GpmBrightnessApplet *applet = GPM_BRIGHTNESS_APPLET(_applet);
+ GSimpleActionGroup *action_group;
+ gchar *ui_path;
+
+ static const GActionEntry menu_actions [] = {
+ { "about", gpm_applet_dialog_about_cb, NULL, NULL, NULL },
+ };
+
+ if (strcmp (iid, GPM_BRIGHTNESS_APPLET_ID) != 0) {
+ return FALSE;
+ }
+
+ gtk_window_set_default_icon_name (GPM_BRIGHTNESS_APPLET_ICON);
+
+ action_group = g_simple_action_group_new ();
+ g_action_map_add_action_entries (G_ACTION_MAP (action_group),
+ menu_actions,
+ G_N_ELEMENTS (menu_actions),
+ applet);
+ ui_path = g_build_filename (BRIGHTNESS_MENU_UI_DIR, "brightness-applet-menu.xml", NULL);
+ panel_applet_setup_menu_from_file (PANEL_APPLET (applet), ui_path, action_group, GETTEXT_PACKAGE);
+ g_free (ui_path);
+
+ gtk_widget_insert_action_group (GTK_WIDGET (applet), "brightness",
+ G_ACTION_GROUP (action_group));
+
+ g_object_unref (action_group);
+
+ return TRUE;
+}
+
+/**
+ * this generates a main with a applet factory
+ **/
+PANEL_APPLET_OUT_PROCESS_FACTORY
+ (/* the factory iid */
+ GPM_BRIGHTNESS_APPLET_FACTORY_ID,
+ /* generates brighness applets instead of regular gnome applets */
+ GPM_TYPE_BRIGHTNESS_APPLET,
+ /* our callback (with no user data) */
+ gpm_applet_cb, NULL);
diff --git a/brightness/icons/16x16/Makefile.am b/brightness/icons/16x16/Makefile.am
new file mode 100644
index 0000000..04a3e32
--- /dev/null
+++ b/brightness/icons/16x16/Makefile.am
@@ -0,0 +1,3 @@
+SUBDIRS = apps status
+
+-include $(top_srcdir)/git.mk
diff --git a/brightness/icons/16x16/apps/Makefile.am b/brightness/icons/16x16/apps/Makefile.am
new file mode 100644
index 0000000..751d6dc
--- /dev/null
+++ b/brightness/icons/16x16/apps/Makefile.am
@@ -0,0 +1,16 @@
+themedir = $(datadir)/icons/hicolor
+size = 16x16
+context = apps
+
+iconsdir = $(themedir)/$(size)/$(context)
+
+icons_DATA = \
+ gnome-brightness-applet.png
+
+noinst_DATA =
+
+EXTRA_DIST = \
+ $(icons_DATA) \
+ $(noinst_DATA)
+
+-include $(top_srcdir)/git.mk
diff --git a/brightness/icons/16x16/apps/gnome-brightness-applet.png
b/brightness/icons/16x16/apps/gnome-brightness-applet.png
new file mode 100644
index 0000000..6406490
Binary files /dev/null and b/brightness/icons/16x16/apps/gnome-brightness-applet.png differ
diff --git a/brightness/icons/16x16/status/Makefile.am b/brightness/icons/16x16/status/Makefile.am
new file mode 100644
index 0000000..dada683
--- /dev/null
+++ b/brightness/icons/16x16/status/Makefile.am
@@ -0,0 +1,18 @@
+themedir = $(pkgdatadir)/icons/hicolor
+size = 16x16
+context = status
+
+iconsdir = $(themedir)/$(size)/$(context)
+
+icons_DATA = \
+ gpm-brightness-lcd.png \
+ gpm-brightness-lcd-disabled.png \
+ gpm-brightness-lcd-invalid.png
+
+noinst_DATA =
+
+EXTRA_DIST = \
+ $(icons_DATA) \
+ $(noinst_DATA)
+
+-include $(top_srcdir)/git.mk
diff --git a/brightness/icons/16x16/status/gpm-brightness-lcd-disabled.png
b/brightness/icons/16x16/status/gpm-brightness-lcd-disabled.png
new file mode 100644
index 0000000..6406490
Binary files /dev/null and b/brightness/icons/16x16/status/gpm-brightness-lcd-disabled.png differ
diff --git a/brightness/icons/16x16/status/gpm-brightness-lcd-invalid.png
b/brightness/icons/16x16/status/gpm-brightness-lcd-invalid.png
new file mode 100644
index 0000000..6406490
Binary files /dev/null and b/brightness/icons/16x16/status/gpm-brightness-lcd-invalid.png differ
diff --git a/brightness/icons/16x16/status/gpm-brightness-lcd.png
b/brightness/icons/16x16/status/gpm-brightness-lcd.png
new file mode 100644
index 0000000..6406490
Binary files /dev/null and b/brightness/icons/16x16/status/gpm-brightness-lcd.png differ
diff --git a/brightness/icons/22x22/Makefile.am b/brightness/icons/22x22/Makefile.am
new file mode 100644
index 0000000..04a3e32
--- /dev/null
+++ b/brightness/icons/22x22/Makefile.am
@@ -0,0 +1,3 @@
+SUBDIRS = apps status
+
+-include $(top_srcdir)/git.mk
diff --git a/brightness/icons/22x22/apps/Makefile.am b/brightness/icons/22x22/apps/Makefile.am
new file mode 100644
index 0000000..ee9aef4
--- /dev/null
+++ b/brightness/icons/22x22/apps/Makefile.am
@@ -0,0 +1,16 @@
+themedir = $(datadir)/icons/hicolor
+size = 22x22
+context = apps
+
+iconsdir = $(themedir)/$(size)/$(context)
+
+icons_DATA = \
+ gnome-brightness-applet.png
+
+noinst_DATA =
+
+EXTRA_DIST = \
+ $(icons_DATA) \
+ $(noinst_DATA)
+
+-include $(top_srcdir)/git.mk
diff --git a/brightness/icons/22x22/apps/gnome-brightness-applet.png
b/brightness/icons/22x22/apps/gnome-brightness-applet.png
new file mode 100644
index 0000000..a1ab0ce
Binary files /dev/null and b/brightness/icons/22x22/apps/gnome-brightness-applet.png differ
diff --git a/brightness/icons/22x22/status/Makefile.am b/brightness/icons/22x22/status/Makefile.am
new file mode 100644
index 0000000..296f017
--- /dev/null
+++ b/brightness/icons/22x22/status/Makefile.am
@@ -0,0 +1,18 @@
+themedir = $(pkgdatadir)/icons/hicolor
+size = 22x22
+context = status
+
+iconsdir = $(themedir)/$(size)/$(context)
+
+icons_DATA = \
+ gpm-brightness-lcd.png \
+ gpm-brightness-lcd-disabled.png \
+ gpm-brightness-lcd-invalid.png
+
+noinst_DATA =
+
+EXTRA_DIST = \
+ $(icons_DATA) \
+ $(noinst_DATA)
+
+-include $(top_srcdir)/git.mk
diff --git a/brightness/icons/22x22/status/gpm-brightness-lcd-disabled.png
b/brightness/icons/22x22/status/gpm-brightness-lcd-disabled.png
new file mode 100644
index 0000000..d5128e4
Binary files /dev/null and b/brightness/icons/22x22/status/gpm-brightness-lcd-disabled.png differ
diff --git a/brightness/icons/22x22/status/gpm-brightness-lcd-invalid.png
b/brightness/icons/22x22/status/gpm-brightness-lcd-invalid.png
new file mode 100644
index 0000000..c20a5e3
Binary files /dev/null and b/brightness/icons/22x22/status/gpm-brightness-lcd-invalid.png differ
diff --git a/brightness/icons/22x22/status/gpm-brightness-lcd.png
b/brightness/icons/22x22/status/gpm-brightness-lcd.png
new file mode 100644
index 0000000..a1ab0ce
Binary files /dev/null and b/brightness/icons/22x22/status/gpm-brightness-lcd.png differ
diff --git a/brightness/icons/24x24/Makefile.am b/brightness/icons/24x24/Makefile.am
new file mode 100644
index 0000000..04a3e32
--- /dev/null
+++ b/brightness/icons/24x24/Makefile.am
@@ -0,0 +1,3 @@
+SUBDIRS = apps status
+
+-include $(top_srcdir)/git.mk
diff --git a/brightness/icons/24x24/apps/Makefile.am b/brightness/icons/24x24/apps/Makefile.am
new file mode 100644
index 0000000..ff28ae0
--- /dev/null
+++ b/brightness/icons/24x24/apps/Makefile.am
@@ -0,0 +1,16 @@
+themedir = $(datadir)/icons/hicolor
+size = 24x24
+context = apps
+
+iconsdir = $(themedir)/$(size)/$(context)
+
+icons_DATA = \
+ gnome-brightness-applet.png
+
+noinst_DATA =
+
+EXTRA_DIST = \
+ $(icons_DATA) \
+ $(noinst_DATA)
+
+-include $(top_srcdir)/git.mk
diff --git a/brightness/icons/24x24/apps/gnome-brightness-applet.png
b/brightness/icons/24x24/apps/gnome-brightness-applet.png
new file mode 100644
index 0000000..8a52068
Binary files /dev/null and b/brightness/icons/24x24/apps/gnome-brightness-applet.png differ
diff --git a/brightness/icons/24x24/status/Makefile.am b/brightness/icons/24x24/status/Makefile.am
new file mode 100644
index 0000000..a74ae3f
--- /dev/null
+++ b/brightness/icons/24x24/status/Makefile.am
@@ -0,0 +1,18 @@
+themedir = $(pkgdatadir)/icons/hicolor
+size = 24x24
+context = status
+
+iconsdir = $(themedir)/$(size)/$(context)
+
+icons_DATA = \
+ gpm-brightness-lcd.png \
+ gpm-brightness-lcd-disabled.png \
+ gpm-brightness-lcd-invalid.png
+
+noinst_DATA =
+
+EXTRA_DIST = \
+ $(icons_DATA) \
+ $(noinst_DATA)
+
+-include $(top_srcdir)/git.mk
diff --git a/brightness/icons/24x24/status/gpm-brightness-lcd-disabled.png
b/brightness/icons/24x24/status/gpm-brightness-lcd-disabled.png
new file mode 100644
index 0000000..8ac0f19
Binary files /dev/null and b/brightness/icons/24x24/status/gpm-brightness-lcd-disabled.png differ
diff --git a/brightness/icons/24x24/status/gpm-brightness-lcd-invalid.png
b/brightness/icons/24x24/status/gpm-brightness-lcd-invalid.png
new file mode 100644
index 0000000..ceb8b79
Binary files /dev/null and b/brightness/icons/24x24/status/gpm-brightness-lcd-invalid.png differ
diff --git a/brightness/icons/24x24/status/gpm-brightness-lcd.png
b/brightness/icons/24x24/status/gpm-brightness-lcd.png
new file mode 100644
index 0000000..8a52068
Binary files /dev/null and b/brightness/icons/24x24/status/gpm-brightness-lcd.png differ
diff --git a/brightness/icons/32x32/Makefile.am b/brightness/icons/32x32/Makefile.am
new file mode 100644
index 0000000..04a3e32
--- /dev/null
+++ b/brightness/icons/32x32/Makefile.am
@@ -0,0 +1,3 @@
+SUBDIRS = apps status
+
+-include $(top_srcdir)/git.mk
diff --git a/brightness/icons/32x32/apps/Makefile.am b/brightness/icons/32x32/apps/Makefile.am
new file mode 100644
index 0000000..004de80
--- /dev/null
+++ b/brightness/icons/32x32/apps/Makefile.am
@@ -0,0 +1,16 @@
+themedir = $(datadir)/icons/hicolor
+size = 32x32
+context = apps
+
+iconsdir = $(themedir)/$(size)/$(context)
+
+icons_DATA = \
+ gnome-brightness-applet.png
+
+noinst_DATA =
+
+EXTRA_DIST = \
+ $(icons_DATA) \
+ $(noinst_DATA)
+
+-include $(top_srcdir)/git.mk
diff --git a/brightness/icons/32x32/apps/gnome-brightness-applet.png
b/brightness/icons/32x32/apps/gnome-brightness-applet.png
new file mode 100644
index 0000000..e0321d4
Binary files /dev/null and b/brightness/icons/32x32/apps/gnome-brightness-applet.png differ
diff --git a/brightness/icons/32x32/status/Makefile.am b/brightness/icons/32x32/status/Makefile.am
new file mode 100644
index 0000000..7b1c662
--- /dev/null
+++ b/brightness/icons/32x32/status/Makefile.am
@@ -0,0 +1,18 @@
+themedir = $(pkgdatadir)/icons/hicolor
+size = 32x32
+context = status
+
+iconsdir = $(themedir)/$(size)/$(context)
+
+icons_DATA = \
+ gpm-brightness-lcd.png \
+ gpm-brightness-lcd-disabled.png \
+ gpm-brightness-lcd-invalid.png
+
+noinst_DATA =
+
+EXTRA_DIST = \
+ $(icons_DATA) \
+ $(noinst_DATA)
+
+-include $(top_srcdir)/git.mk
diff --git a/brightness/icons/32x32/status/gpm-brightness-lcd-disabled.png
b/brightness/icons/32x32/status/gpm-brightness-lcd-disabled.png
new file mode 100644
index 0000000..a7b0848
Binary files /dev/null and b/brightness/icons/32x32/status/gpm-brightness-lcd-disabled.png differ
diff --git a/brightness/icons/32x32/status/gpm-brightness-lcd-invalid.png
b/brightness/icons/32x32/status/gpm-brightness-lcd-invalid.png
new file mode 100644
index 0000000..2649002
Binary files /dev/null and b/brightness/icons/32x32/status/gpm-brightness-lcd-invalid.png differ
diff --git a/brightness/icons/32x32/status/gpm-brightness-lcd.png
b/brightness/icons/32x32/status/gpm-brightness-lcd.png
new file mode 100644
index 0000000..e0321d4
Binary files /dev/null and b/brightness/icons/32x32/status/gpm-brightness-lcd.png differ
diff --git a/brightness/icons/48x48/Makefile.am b/brightness/icons/48x48/Makefile.am
new file mode 100644
index 0000000..04a3e32
--- /dev/null
+++ b/brightness/icons/48x48/Makefile.am
@@ -0,0 +1,3 @@
+SUBDIRS = apps status
+
+-include $(top_srcdir)/git.mk
diff --git a/brightness/icons/48x48/apps/Makefile.am b/brightness/icons/48x48/apps/Makefile.am
new file mode 100644
index 0000000..424337b
--- /dev/null
+++ b/brightness/icons/48x48/apps/Makefile.am
@@ -0,0 +1,16 @@
+themedir = $(datadir)/icons/hicolor
+size = 48x48
+context = apps
+
+iconsdir = $(themedir)/$(size)/$(context)
+
+icons_DATA = \
+ gnome-brightness-applet.png
+
+noinst_DATA =
+
+EXTRA_DIST = \
+ $(icons_DATA) \
+ $(noinst_DATA)
+
+-include $(top_srcdir)/git.mk
diff --git a/brightness/icons/48x48/apps/gnome-brightness-applet.png
b/brightness/icons/48x48/apps/gnome-brightness-applet.png
new file mode 100644
index 0000000..5cc2915
Binary files /dev/null and b/brightness/icons/48x48/apps/gnome-brightness-applet.png differ
diff --git a/brightness/icons/48x48/status/Makefile.am b/brightness/icons/48x48/status/Makefile.am
new file mode 100644
index 0000000..c6cb872
--- /dev/null
+++ b/brightness/icons/48x48/status/Makefile.am
@@ -0,0 +1,18 @@
+themedir = $(pkgdatadir)/icons/hicolor
+size = 48x48
+context = status
+
+iconsdir = $(themedir)/$(size)/$(context)
+
+icons_DATA = \
+ gpm-brightness-lcd.png \
+ gpm-brightness-lcd-disabled.png \
+ gpm-brightness-lcd-invalid.png
+
+noinst_DATA =
+
+EXTRA_DIST = \
+ $(icons_DATA) \
+ $(noinst_DATA)
+
+-include $(top_srcdir)/git.mk
diff --git a/brightness/icons/48x48/status/gpm-brightness-lcd-disabled.png
b/brightness/icons/48x48/status/gpm-brightness-lcd-disabled.png
new file mode 100644
index 0000000..dba4aee
Binary files /dev/null and b/brightness/icons/48x48/status/gpm-brightness-lcd-disabled.png differ
diff --git a/brightness/icons/48x48/status/gpm-brightness-lcd-invalid.png
b/brightness/icons/48x48/status/gpm-brightness-lcd-invalid.png
new file mode 100644
index 0000000..916c427
Binary files /dev/null and b/brightness/icons/48x48/status/gpm-brightness-lcd-invalid.png differ
diff --git a/brightness/icons/48x48/status/gpm-brightness-lcd.png
b/brightness/icons/48x48/status/gpm-brightness-lcd.png
new file mode 100644
index 0000000..5cc2915
Binary files /dev/null and b/brightness/icons/48x48/status/gpm-brightness-lcd.png differ
diff --git a/brightness/icons/Makefile.am b/brightness/icons/Makefile.am
new file mode 100644
index 0000000..3ebd12d
--- /dev/null
+++ b/brightness/icons/Makefile.am
@@ -0,0 +1,16 @@
+SUBDIRS = scalable 16x16 22x22 24x24 32x32 48x48
+
+gtk_update_icon_cache = gtk-update-icon-cache -f -t $(pkgdatadir)/icons/hicolor
+
+install-data-hook: update-icon-cache
+uninstall-hook: update-icon-cache
+update-icon-cache:
+ @-if test -z "$(DESTDIR)"; then \
+ echo "Updating Gtk icon cache."; \
+ $(gtk_update_icon_cache); \
+ else \
+ echo "*** Icon cache not updated. After (un)install, run this:"; \
+ echo "*** $(gtk_update_icon_cache)"; \
+ fi
+
+-include $(top_srcdir)/git.mk
diff --git a/brightness/icons/scalable/Makefile.am b/brightness/icons/scalable/Makefile.am
new file mode 100644
index 0000000..04a3e32
--- /dev/null
+++ b/brightness/icons/scalable/Makefile.am
@@ -0,0 +1,3 @@
+SUBDIRS = apps status
+
+-include $(top_srcdir)/git.mk
diff --git a/brightness/icons/scalable/apps/Makefile.am b/brightness/icons/scalable/apps/Makefile.am
new file mode 100644
index 0000000..c8d512c
--- /dev/null
+++ b/brightness/icons/scalable/apps/Makefile.am
@@ -0,0 +1,16 @@
+themedir = $(datadir)/icons/hicolor
+size = scalable
+context = apps
+
+iconsdir = $(themedir)/$(size)/$(context)
+
+icons_DATA = \
+ gnome-brightness-applet.svg
+
+noinst_DATA =
+
+EXTRA_DIST = \
+ $(icons_DATA) \
+ $(noinst_DATA)
+
+-include $(top_srcdir)/git.mk
diff --git a/brightness/icons/scalable/apps/gnome-brightness-applet.svg
b/brightness/icons/scalable/apps/gnome-brightness-applet.svg
new file mode 100644
index 0000000..e54b787
--- /dev/null
+++ b/brightness/icons/scalable/apps/gnome-brightness-applet.svg
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ version="1.0"
+ width="48"
+ height="48"
+ id="svg11300">
+ <defs
+ id="defs3">
+ <linearGradient
+ id="linearGradient5170">
+ <stop
+ style="stop-color:#000000;stop-opacity:1"
+ offset="0"
+ id="stop5172" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0"
+ offset="1"
+ id="stop5174" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5160">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop5162" />
+ <stop
+ style="stop-color:#d3d7cf;stop-opacity:1"
+ offset="1"
+ id="stop5164" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5152">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop5154" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1"
+ id="stop5156" />
+ </linearGradient>
+ <linearGradient
+ x1="23.28125"
+ y1="21.40625"
+ x2="21.78125"
+ y2="55.90625"
+ id="linearGradient5158"
+ xlink:href="#linearGradient5152"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ cx="25.90625"
+ cy="18.03125"
+ r="19.005075"
+ fx="25.90625"
+ fy="18.03125"
+ id="radialGradient5166"
+ xlink:href="#linearGradient5160"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.73703,0,0,0.73703,6.812572,4.741682)" />
+ <radialGradient
+ cx="25.3125"
+ cy="40.75"
+ r="18.0625"
+ fx="25.3125"
+ fy="40.75"
+ id="radialGradient5176"
+ xlink:href="#linearGradient5170"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.352941,0,26.36765)" />
+ </defs>
+ <g
+ id="layer1">
+ <path
+ d="M 43.375 40.75 A 18.0625 6.375 0 1 1 7.25,40.75 A 18.0625 6.375 0 1 1 43.375 40.75 z"
+ transform="matrix(1.138408,0,0,1.138408,-3.50346,-7.640138)"
+
style="opacity:0.23595503;color:#000000;fill:url(#radialGradient5176);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path5168" />
+ <path
+ d="M 23.5625,5.53125 L 23.5625,10.65625 C 20.993604,11.013501 18.646191,12.073753 16.71875,13.625 L
13,9.90625 C 11.095031,8.0012812 9.0459565,10.139706 10.90625,12 L 14.625,15.71875 C 13.067023,17.637172
12.020502,19.969868 11.65625,22.53125 L 6.53125,22.53125 C 3.7855147,22.53125 4.0547984,25.5 6.53125,25.5 L
11.5625,25.5 C 11.755706,28.205867 12.703674,30.683551 14.21875,32.75 L 10.90625,36.0625 C 9.09375,37.875
11.318297,39.837953 13,38.15625 L 16.1875,34.96875 C 18.204948,36.76564 20.755546,37.956654 23.5625,38.34375
L 23.5625,42.53125 C 23.5625,45.184373 26.53125,45.188786 26.53125,42.53125 L 26.53125,38.46875 C
29.46022,38.255502 32.127787,37.117213 34.28125,35.375 L 37.0625,38.15625 C 38.565102,39.835629
40.924017,37.741879 39.15625,36.0625 L 36.375,33.28125 C 38.125006,31.116256 39.228658,28.44297 39.4375,25.5
L 43.53125,25.5 C 45.566103,25.5 45.836136,22.53125 43.53125,22.53125 L 39.34375,22.53125 C
38.952144,19.73621 37.759213,17.197731 35.96875,15.1875 L 3
9.15625,12 C 40.74724,10.232233 38.65349,8.4036481 37.0625,9.90625 L 33.75,13.21875 C 31.691357,11.709397
29.225223,10.760857 26.53125,10.5625 L 26.53125,5.53125 C 26.53125,3.1431283 23.5625,3.3215413
23.5625,5.53125 z "
+
style="opacity:1;color:#000000;fill:url(#radialGradient5166);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.01015258;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path4263" />
+ <path
+ d="M 25.09375,4.6875 C 24.802565,4.6962497 24.4375,4.830562 24.4375,5.53125 L 24.4375,10.65625 C
24.438113,11.093192 24.119395,11.465029 23.6875,11.53125 C 21.282157,11.865756 19.088867,12.85769
17.28125,14.3125 C 16.928459,14.600807 16.414327,14.573748 16.09375,14.25 L 12.375,10.53125 C
11.651494,9.8077446 11.33476,10.005814 11.1875,10.15625 C 11.04024,10.306686 10.835581,10.679331
11.53125,11.375 L 15.25,15.09375 C 15.573748,15.414327 15.600807,15.928459 15.3125,16.28125 C
13.853456,18.077851 12.872809,20.254443 12.53125,22.65625 C 12.465029,23.088145 12.093192,23.406863
11.65625,23.40625 L 6.53125,23.40625 C 6.0040952,23.40625 5.7220217,23.54544 5.59375,23.65625 C
5.4654783,23.76706 5.4636361,23.855992 5.46875,23.96875 C 5.4789779,24.194267 5.6462216,24.625 6.53125,24.625
L 11.5625,24.625 C 12.020654,24.628151 12.400467,24.980835 12.4375,25.4375 C 12.618808,27.976731
13.517676,30.282217 14.9375,32.21875 C 15.198879,32.573641 15.158888,33.066854 14.84375,33.375 L 11
.53125,36.6875 C 11.198455,37.020295 11.132722,37.278629 11.125,37.4375 C 11.117278,37.596371
11.159115,37.695871 11.25,37.78125 C 11.431769,37.952008 11.793527,38.112723 12.375,37.53125 L
15.5625,34.34375 C 15.895436,34.010044 16.43165,33.996295 16.78125,34.3125 C 18.667254,35.992316
21.051823,37.105274 23.6875,37.46875 C 24.119395,37.534971 24.438113,37.906808 24.4375,38.34375 L
24.4375,42.53125 C 24.4375,43.528133 24.847358,43.62484 25.0625,43.625 C 25.277642,43.62516
25.65625,43.530887 25.65625,42.53125 L 25.65625,38.46875 C 25.659401,38.010596 26.012085,37.630783
26.46875,37.59375 C 29.20929,37.394221 31.696414,36.323628 33.71875,34.6875 C 34.071541,34.399193
34.585673,34.426252 34.90625,34.75 L 37.6875,37.53125 C 37.698175,37.541405 37.708595,37.551825
37.71875,37.5625 C 38.195082,38.094871 38.491333,37.932624 38.71875,37.71875 C 38.832458,37.611813
38.907672,37.489364 38.90625,37.34375 C 38.904828,37.198136 38.866787,37.007822 38.5625,36.71875 C
38.551825,36.708595 38
.541405,36.698175 38.53125,36.6875 L 35.75,33.90625 C 35.426252,33.585673 35.399193,33.071541
35.6875,32.71875 C 37.328102,30.689104 38.366546,28.198849 38.5625,25.4375 C 38.599533,24.980835
38.979346,24.628151 39.4375,24.625 L 43.53125,24.625 C 44.118829,24.625 44.267023,24.281581 44.28125,23.96875
C 44.288364,23.812334 44.242164,23.683302 44.15625,23.59375 C 44.070336,23.504198 43.917728,23.40625
43.53125,23.40625 L 39.34375,23.40625 C 38.906808,23.406863 38.534971,23.088145 38.46875,22.65625 C
38.101164,20.032652 36.98685,17.661116 35.3125,15.78125 C 34.996295,15.43165 35.010044,14.895436
35.34375,14.5625 L 38.5,11.40625 C 38.515299,11.389252 38.517035,11.391435 38.53125,11.375 C
39.042145,10.784319 38.864072,10.540391 38.6875,10.375 C 38.506015,10.205007 38.180911,10.066987
37.65625,10.5625 L 34.375,13.84375 C 34.066854,14.158888 33.573641,14.198879 33.21875,13.9375 C
31.289159,12.522765 28.99632,11.623605 26.46875,11.4375 C 26.012085,11.400467 25.659401,11.020654 25.656
25,10.5625 L 25.65625,5.53125 C 25.65625,5.1134947 25.532627,4.9419285 25.4375,4.84375 C 25.342373,4.7455715
25.239343,4.6831252 25.09375,4.6875 z "
+
style="opacity:0.64606742;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient5158);stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path5150" />
+ </g>
+</svg>
diff --git a/brightness/icons/scalable/status/Makefile.am b/brightness/icons/scalable/status/Makefile.am
new file mode 100644
index 0000000..968b292
--- /dev/null
+++ b/brightness/icons/scalable/status/Makefile.am
@@ -0,0 +1,18 @@
+themedir = $(pkgdatadir)/icons/hicolor
+size = scalable
+context = status
+
+iconsdir = $(themedir)/$(size)/$(context)
+
+icons_DATA = \
+ gpm-brightness-lcd.svg \
+ gpm-brightness-lcd-disabled.svg \
+ gpm-brightness-lcd-invalid.svg
+
+noinst_DATA =
+
+EXTRA_DIST = \
+ $(icons_DATA) \
+ $(noinst_DATA)
+
+-include $(top_srcdir)/git.mk
diff --git a/brightness/icons/scalable/status/gpm-brightness-lcd-disabled.svg
b/brightness/icons/scalable/status/gpm-brightness-lcd-disabled.svg
new file mode 100644
index 0000000..49b9d6b
--- /dev/null
+++ b/brightness/icons/scalable/status/gpm-brightness-lcd-disabled.svg
@@ -0,0 +1,245 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ version="1.0"
+ width="48"
+ height="48"
+ id="svg11300">
+ <defs
+ id="defs3">
+ <linearGradient
+ id="linearGradient2891">
+ <stop
+ style="stop-color:#000000;stop-opacity:1"
+ offset="0"
+ id="stop2893" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0"
+ offset="1"
+ id="stop2895" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2986">
+ <stop
+ style="stop-color:#a40000;stop-opacity:1"
+ offset="0"
+ id="stop2988" />
+ <stop
+ style="stop-color:#690000;stop-opacity:1"
+ offset="1"
+ id="stop2990" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2788">
+ <stop
+ style="stop-color:#f67f7f;stop-opacity:1"
+ offset="0"
+ id="stop2790" />
+ <stop
+ style="stop-color:#ef2929;stop-opacity:1"
+ offset="1"
+ id="stop2792" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2921">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop2923" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1"
+ id="stop2925" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2862">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop2864" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1"
+ id="stop2866" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2854">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop2856" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1"
+ id="stop2858" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5170">
+ <stop
+ style="stop-color:#000000;stop-opacity:1"
+ offset="0"
+ id="stop5172" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0"
+ offset="1"
+ id="stop5174" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5160">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop5162" />
+ <stop
+ style="stop-color:#d3d7cf;stop-opacity:1"
+ offset="1"
+ id="stop5164" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5152">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop5154" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1"
+ id="stop5156" />
+ </linearGradient>
+ <linearGradient
+ x1="23.28125"
+ y1="21.40625"
+ x2="21.78125"
+ y2="55.90625"
+ id="linearGradient5158"
+ xlink:href="#linearGradient5152"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ cx="25.90625"
+ cy="18.03125"
+ r="19.005075"
+ fx="25.90625"
+ fy="18.03125"
+ id="radialGradient5166"
+ xlink:href="#linearGradient5160"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.73703,0,0,0.73703,6.812572,4.741682)" />
+ <radialGradient
+ cx="25.3125"
+ cy="40.75"
+ r="18.0625"
+ fx="25.3125"
+ fy="40.75"
+ id="radialGradient5176"
+ xlink:href="#linearGradient5170"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.352941,0,26.36765)" />
+ <radialGradient
+ cx="11"
+ cy="19"
+ r="10.5"
+ fx="11"
+ fy="19"
+ id="radialGradient8458"
+ xlink:href="#linearGradient2891"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.238095,0,14.47619)" />
+ <linearGradient
+ x1="27.762564"
+ y1="71.519295"
+ x2="24"
+ y2="21.605078"
+ id="linearGradient8460"
+ xlink:href="#linearGradient2788"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(5.875264,45.59708)" />
+ <linearGradient
+ x1="41.185291"
+ y1="16.25"
+ x2="43.331738"
+ y2="37.5"
+ id="linearGradient8462"
+ xlink:href="#linearGradient2986"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(5.875264,45.59708)" />
+ <linearGradient
+ x1="23.276466"
+ y1="21.037874"
+ x2="16.77494"
+ y2="5.2555733"
+ id="linearGradient8464"
+ xlink:href="#linearGradient2921"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(5.875264,45.59708)" />
+ <linearGradient
+ x1="14"
+ y1="34"
+ x2="20.636963"
+ y2="8.25"
+ id="linearGradient8466"
+ xlink:href="#linearGradient2862"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(5.875264,45.59708)" />
+ <linearGradient
+ x1="27.625"
+ y1="23.25"
+ x2="27.363037"
+ y2="0.5"
+ id="linearGradient8468"
+ xlink:href="#linearGradient2854"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(5.875264,45.59708)" />
+ </defs>
+ <g
+ id="layer1">
+ <path
+ d="M 43.375 40.75 A 18.0625 6.375 0 1 1 7.25,40.75 A 18.0625 6.375 0 1 1 43.375 40.75 z"
+ transform="matrix(1.138408,0,0,1.138408,-3.50346,-7.640138)"
+
style="opacity:0.23595503;color:#000000;fill:url(#radialGradient5176);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path5168" />
+ <path
+ d="M 23.5625,5.53125 L 23.5625,10.65625 C 20.993604,11.013501 18.646191,12.073753 16.71875,13.625 L
13,9.90625 C 11.095031,8.0012812 9.0459565,10.139706 10.90625,12 L 14.625,15.71875 C 13.067023,17.637172
12.020502,19.969868 11.65625,22.53125 L 6.53125,22.53125 C 3.7855147,22.53125 4.0547984,25.5 6.53125,25.5 L
11.5625,25.5 C 11.755706,28.205867 12.703674,30.683551 14.21875,32.75 L 10.90625,36.0625 C 9.09375,37.875
11.318297,39.837953 13,38.15625 L 16.1875,34.96875 C 18.204948,36.76564 20.755546,37.956654 23.5625,38.34375
L 23.5625,42.53125 C 23.5625,45.184373 26.53125,45.188786 26.53125,42.53125 L 26.53125,38.46875 C
29.46022,38.255502 32.127787,37.117213 34.28125,35.375 L 37.0625,38.15625 C 38.565102,39.835629
40.924017,37.741879 39.15625,36.0625 L 36.375,33.28125 C 38.125006,31.116256 39.228658,28.44297 39.4375,25.5
L 43.53125,25.5 C 45.566103,25.5 45.836136,22.53125 43.53125,22.53125 L 39.34375,22.53125 C
38.952144,19.73621 37.759213,17.197731 35.96875,15.1875 L 3
9.15625,12 C 40.74724,10.232233 38.65349,8.4036481 37.0625,9.90625 L 33.75,13.21875 C 31.691357,11.709397
29.225223,10.760857 26.53125,10.5625 L 26.53125,5.53125 C 26.53125,3.1431283 23.5625,3.3215413
23.5625,5.53125 z "
+
style="opacity:1;color:#000000;fill:url(#radialGradient5166);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.01015258;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path4263" />
+ <path
+ d="M 25.09375,4.6875 C 24.802565,4.6962497 24.4375,4.830562 24.4375,5.53125 L 24.4375,10.65625 C
24.438113,11.093192 24.119395,11.465029 23.6875,11.53125 C 21.282157,11.865756 19.088867,12.85769
17.28125,14.3125 C 16.928459,14.600807 16.414327,14.573748 16.09375,14.25 L 12.375,10.53125 C
11.651494,9.8077446 11.33476,10.005814 11.1875,10.15625 C 11.04024,10.306686 10.835581,10.679331
11.53125,11.375 L 15.25,15.09375 C 15.573748,15.414327 15.600807,15.928459 15.3125,16.28125 C
13.853456,18.077851 12.872809,20.254443 12.53125,22.65625 C 12.465029,23.088145 12.093192,23.406863
11.65625,23.40625 L 6.53125,23.40625 C 6.0040952,23.40625 5.7220217,23.54544 5.59375,23.65625 C
5.4654783,23.76706 5.4636361,23.855992 5.46875,23.96875 C 5.4789779,24.194267 5.6462216,24.625 6.53125,24.625
L 11.5625,24.625 C 12.020654,24.628151 12.400467,24.980835 12.4375,25.4375 C 12.618808,27.976731
13.517676,30.282217 14.9375,32.21875 C 15.198879,32.573641 15.158888,33.066854 14.84375,33.375 L 11
.53125,36.6875 C 11.198455,37.020295 11.132722,37.278629 11.125,37.4375 C 11.117278,37.596371
11.159115,37.695871 11.25,37.78125 C 11.431769,37.952008 11.793527,38.112723 12.375,37.53125 L
15.5625,34.34375 C 15.895436,34.010044 16.43165,33.996295 16.78125,34.3125 C 18.667254,35.992316
21.051823,37.105274 23.6875,37.46875 C 24.119395,37.534971 24.438113,37.906808 24.4375,38.34375 L
24.4375,42.53125 C 24.4375,43.528133 24.847358,43.62484 25.0625,43.625 C 25.277642,43.62516
25.65625,43.530887 25.65625,42.53125 L 25.65625,38.46875 C 25.659401,38.010596 26.012085,37.630783
26.46875,37.59375 C 29.20929,37.394221 31.696414,36.323628 33.71875,34.6875 C 34.071541,34.399193
34.585673,34.426252 34.90625,34.75 L 37.6875,37.53125 C 37.698175,37.541405 37.708595,37.551825
37.71875,37.5625 C 38.195082,38.094871 38.491333,37.932624 38.71875,37.71875 C 38.832458,37.611813
38.907672,37.489364 38.90625,37.34375 C 38.904828,37.198136 38.866787,37.007822 38.5625,36.71875 C
38.551825,36.708595 38
.541405,36.698175 38.53125,36.6875 L 35.75,33.90625 C 35.426252,33.585673 35.399193,33.071541
35.6875,32.71875 C 37.328102,30.689104 38.366546,28.198849 38.5625,25.4375 C 38.599533,24.980835
38.979346,24.628151 39.4375,24.625 L 43.53125,24.625 C 44.118829,24.625 44.267023,24.281581 44.28125,23.96875
C 44.288364,23.812334 44.242164,23.683302 44.15625,23.59375 C 44.070336,23.504198 43.917728,23.40625
43.53125,23.40625 L 39.34375,23.40625 C 38.906808,23.406863 38.534971,23.088145 38.46875,22.65625 C
38.101164,20.032652 36.98685,17.661116 35.3125,15.78125 C 34.996295,15.43165 35.010044,14.895436
35.34375,14.5625 L 38.5,11.40625 C 38.515299,11.389252 38.517035,11.391435 38.53125,11.375 C
39.042145,10.784319 38.864072,10.540391 38.6875,10.375 C 38.506015,10.205007 38.180911,10.066987
37.65625,10.5625 L 34.375,13.84375 C 34.066854,14.158888 33.573641,14.198879 33.21875,13.9375 C
31.289159,12.522765 28.99632,11.623605 26.46875,11.4375 C 26.012085,11.400467 25.659401,11.020654 25.656
25,10.5625 L 25.65625,5.53125 C 25.65625,5.1134947 25.532627,4.9419285 25.4375,4.84375 C 25.342373,4.7455715
25.239343,4.6831252 25.09375,4.6875 z "
+
style="opacity:0.64606742;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient5158);stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path5150" />
+ <path
+ d="M -27.223611,2.5138158 C -37.987614,2.5138158 -46.723621,11.249817 -46.723621,22.013826 C
-46.723621,32.777835 -37.987615,41.513836 -27.223611,41.513836 C -16.459608,41.513836 -7.7236011,32.777835
-7.7236011,22.013826 C -7.7236011,11.249817 -16.459608,2.5138158 -27.223611,2.5138158 z "
+
style="opacity:0.7;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.00000048;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path2841" />
+ <g
+ transform="matrix(0.678383,2.055786e-2,-1.77511e-2,0.689201,6.327009,-23.28831)"
+ id="g8450">
+ <path
+ d="M 21.5 19 A 10.5 2.5 0 1 1 0.5,19 A 10.5 2.5 0 1 1 21.5 19 z"
+ transform="matrix(2.095238,0,0,2.6,6.827644,36.69709)"
+
style="opacity:0.3;fill:url(#radialGradient8458);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path2894" />
+ <path
+ d="M 29.875264,48.097083 C 18.559267,48.097083 9.3752635,57.281079 9.3752635,68.597083 C
9.3752635,79.913087 18.559266,89.097083 29.875264,89.097083 C 41.191261,89.097083 50.375264,79.913087
50.375264,68.597083 C 50.375264,57.281079 41.191261,48.097083 29.875264,48.097083 z M 29.875264,55.097083 C
37.327276,55.097083 43.375264,61.145072 43.375264,68.597083 C 43.375265,71.057195 42.713949,73.360086
41.562764,75.347083 L 23.125264,56.909583 C 25.112261,55.758398 27.415152,55.097083 29.875264,55.097083 z M
18.187764,61.847083 L 36.625264,80.284583 C 34.638267,81.435768 32.335376,82.097083 29.875264,82.097083 C
22.423253,82.097082 16.375264,76.049094 16.375264,68.597083 C 16.375264,66.136971 17.036579,63.83408
18.187764,61.847083 z "
+
style="opacity:1;fill:url(#linearGradient8460);fill-opacity:1;stroke:url(#linearGradient8462);stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path1937" />
+ <path
+ d="M 29.875264,48.597083 C 18.828496,48.597083 9.8752635,57.550308 9.8752635,68.597083 C
9.8752635,69.557037 9.9320455,70.485749 10.062764,71.409583 C 11.848851,74.102941 14.44384,75.097686
17.469014,75.097083 C 16.443545,73.151708 15.875264,70.945353 15.875264,68.597083 C 15.875264,66.047797
16.556916,63.656855 17.750264,61.597083 C 17.828202,61.458678 17.967529,61.365793 18.125264,61.347083 C
18.277486,61.334044 18.427262,61.39165 18.531514,61.503333 L 29.125264,72.097083 C 31.151429,71.273973
33.131182,70.415942 35.094014,69.565833 L 22.781514,57.253333 C 22.671925,57.145253 22.606925,56.999905
22.625264,56.847083 C 22.643602,56.694261 22.743216,56.551166 22.875264,56.472083 C 24.935036,55.278735
27.325978,54.597083 29.875264,54.597083 C 36.839696,54.597083 42.619473,59.710867 43.687764,66.378333 C
46.342534,65.743218 48.477843,65.821117 49.812764,67.190833 C 49.088287,56.803263 40.447198,48.597083
29.875264,48.597083 z "
+
style="opacity:0.25;fill:url(#linearGradient8464);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path2912" />
+ <path
+ d="M 29.875276,49.097084 C 19.111273,49.097084 10.375266,57.833085 10.375266,68.597094 C
10.375266,79.361103 19.111272,88.097104 29.875276,88.097104 C 40.639279,88.097104 49.375286,79.361103
49.375286,68.597094 C 49.375286,57.833085 40.639279,49.097084 29.875276,49.097084 z "
+
style="opacity:0.7;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.00000048;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path8446" />
+ <path
+ d="M 18.031514,60.847083 C 18.351597,60.792489 18.678187,60.897464 18.906514,61.128333 L
37.344014,79.565833 C 37.573212,79.786388 37.683186,80.103208 37.639934,80.418337 C 37.596681,80.733465
37.405411,81.008938 37.125264,81.159583 C 34.992716,82.395094 32.513723,83.097083 29.875264,83.097083 C
21.884797,83.097082 15.375264,76.58755 15.375264,68.597083 C 15.375264,65.958624 16.077253,63.479631
17.312764,61.347083 C 17.462236,61.078326 17.727551,60.893759 18.031514,60.847083 L 18.031514,60.847083 z "
+
style="opacity:0.7;fill:none;fill-opacity:1;stroke:url(#linearGradient8466);stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
+ id="path2847" />
+ <path
+ d="M 29.875264,54.097083 C 37.865732,54.097083 44.375264,60.606616 44.375264,68.597083 C
44.375265,71.235543 43.673275,73.714535 42.437764,75.847083 C 42.287119,76.12723 42.011646,76.3185
41.696518,76.361753 C 41.381389,76.405005 41.064569,76.295031 40.844014,76.065833 L 22.406514,57.628333 C
22.177316,57.407778 22.067342,57.090958 22.110594,56.775829 C 22.153847,56.460701 22.345117,56.185228
22.625264,56.034583 C 24.757812,54.799072 27.236805,54.097083 29.875264,54.097083 z "
+
style="opacity:0.7;fill:none;fill-opacity:1;stroke:url(#linearGradient8468);stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
+ id="path2850" />
+ </g>
+ </g>
+</svg>
diff --git a/brightness/icons/scalable/status/gpm-brightness-lcd-invalid.svg
b/brightness/icons/scalable/status/gpm-brightness-lcd-invalid.svg
new file mode 100644
index 0000000..65fcc48
--- /dev/null
+++ b/brightness/icons/scalable/status/gpm-brightness-lcd-invalid.svg
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ version="1.0"
+ width="48"
+ height="48"
+ id="svg11300">
+ <defs
+ id="defs3">
+ <linearGradient
+ id="linearGradient5170">
+ <stop
+ style="stop-color:#000000;stop-opacity:1"
+ offset="0"
+ id="stop5172" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0"
+ offset="1"
+ id="stop5174" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5160">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop5162" />
+ <stop
+ style="stop-color:#d3d7cf;stop-opacity:1"
+ offset="1"
+ id="stop5164" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5152">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop5154" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1"
+ id="stop5156" />
+ </linearGradient>
+ <linearGradient
+ x1="23.28125"
+ y1="21.40625"
+ x2="21.78125"
+ y2="55.90625"
+ id="linearGradient5158"
+ xlink:href="#linearGradient5152"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ cx="25.90625"
+ cy="18.03125"
+ r="19.005075"
+ fx="25.90625"
+ fy="18.03125"
+ id="radialGradient5166"
+ xlink:href="#linearGradient5160"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.73703,0,0,0.73703,6.812572,4.741682)" />
+ <radialGradient
+ cx="25.3125"
+ cy="40.75"
+ r="18.0625"
+ fx="25.3125"
+ fy="40.75"
+ id="radialGradient5176"
+ xlink:href="#linearGradient5170"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.352941,0,26.36765)" />
+ <linearGradient
+ id="linearGradient3957">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334"
+ offset="0"
+ id="stop3959" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628"
+ offset="1"
+ id="stop3961" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2536">
+ <stop
+ style="stop-color:#a40000;stop-opacity:1"
+ offset="0"
+ id="stop2538" />
+ <stop
+ style="stop-color:#ff1717;stop-opacity:1"
+ offset="1"
+ id="stop2540" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2479">
+ <stop
+ style="stop-color:#ffe69b;stop-opacity:1"
+ offset="0"
+ id="stop2481" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop2483" />
+ </linearGradient>
+ <linearGradient
+ x1="36.917976"
+ y1="66.288063"
+ x2="19.071495"
+ y2="5.5410109"
+ id="linearGradient11363"
+ xlink:href="#linearGradient2536"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="43.93581"
+ y1="53.835983"
+ x2="20.064686"
+ y2="-8.5626707"
+ id="linearGradient11365"
+ xlink:href="#linearGradient2479"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602"
+ id="linearGradient11367"
+ xlink:href="#linearGradient3957"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <g
+ id="layer1">
+ <path
+ d="M 43.375 40.75 A 18.0625 6.375 0 1 1 7.25,40.75 A 18.0625 6.375 0 1 1 43.375 40.75 z"
+ transform="matrix(1.138408,0,0,1.138408,-3.50346,-7.640138)"
+
style="opacity:0.23595503;color:#000000;fill:url(#radialGradient5176);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path5168" />
+ <path
+ d="M 23.5625,5.53125 L 23.5625,10.65625 C 20.993604,11.013501 18.646191,12.073753 16.71875,13.625 L
13,9.90625 C 11.095031,8.0012812 9.0459565,10.139706 10.90625,12 L 14.625,15.71875 C 13.067023,17.637172
12.020502,19.969868 11.65625,22.53125 L 6.53125,22.53125 C 3.7855147,22.53125 4.0547984,25.5 6.53125,25.5 L
11.5625,25.5 C 11.755706,28.205867 12.703674,30.683551 14.21875,32.75 L 10.90625,36.0625 C 9.09375,37.875
11.318297,39.837953 13,38.15625 L 16.1875,34.96875 C 18.204948,36.76564 20.755546,37.956654 23.5625,38.34375
L 23.5625,42.53125 C 23.5625,45.184373 26.53125,45.188786 26.53125,42.53125 L 26.53125,38.46875 C
29.46022,38.255502 32.127787,37.117213 34.28125,35.375 L 37.0625,38.15625 C 38.565102,39.835629
40.924017,37.741879 39.15625,36.0625 L 36.375,33.28125 C 38.125006,31.116256 39.228658,28.44297 39.4375,25.5
L 43.53125,25.5 C 45.566103,25.5 45.836136,22.53125 43.53125,22.53125 L 39.34375,22.53125 C
38.952144,19.73621 37.759213,17.197731 35.96875,15.1875 L 3
9.15625,12 C 40.74724,10.232233 38.65349,8.4036481 37.0625,9.90625 L 33.75,13.21875 C 31.691357,11.709397
29.225223,10.760857 26.53125,10.5625 L 26.53125,5.53125 C 26.53125,3.1431283 23.5625,3.3215413
23.5625,5.53125 z "
+
style="opacity:1;color:#000000;fill:url(#radialGradient5166);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.01015258;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path4263" />
+ <path
+ d="M 25.09375,4.6875 C 24.802565,4.6962497 24.4375,4.830562 24.4375,5.53125 L 24.4375,10.65625 C
24.438113,11.093192 24.119395,11.465029 23.6875,11.53125 C 21.282157,11.865756 19.088867,12.85769
17.28125,14.3125 C 16.928459,14.600807 16.414327,14.573748 16.09375,14.25 L 12.375,10.53125 C
11.651494,9.8077446 11.33476,10.005814 11.1875,10.15625 C 11.04024,10.306686 10.835581,10.679331
11.53125,11.375 L 15.25,15.09375 C 15.573748,15.414327 15.600807,15.928459 15.3125,16.28125 C
13.853456,18.077851 12.872809,20.254443 12.53125,22.65625 C 12.465029,23.088145 12.093192,23.406863
11.65625,23.40625 L 6.53125,23.40625 C 6.0040952,23.40625 5.7220217,23.54544 5.59375,23.65625 C
5.4654783,23.76706 5.4636361,23.855992 5.46875,23.96875 C 5.4789779,24.194267 5.6462216,24.625 6.53125,24.625
L 11.5625,24.625 C 12.020654,24.628151 12.400467,24.980835 12.4375,25.4375 C 12.618808,27.976731
13.517676,30.282217 14.9375,32.21875 C 15.198879,32.573641 15.158888,33.066854 14.84375,33.375 L 11
.53125,36.6875 C 11.198455,37.020295 11.132722,37.278629 11.125,37.4375 C 11.117278,37.596371
11.159115,37.695871 11.25,37.78125 C 11.431769,37.952008 11.793527,38.112723 12.375,37.53125 L
15.5625,34.34375 C 15.895436,34.010044 16.43165,33.996295 16.78125,34.3125 C 18.667254,35.992316
21.051823,37.105274 23.6875,37.46875 C 24.119395,37.534971 24.438113,37.906808 24.4375,38.34375 L
24.4375,42.53125 C 24.4375,43.528133 24.847358,43.62484 25.0625,43.625 C 25.277642,43.62516
25.65625,43.530887 25.65625,42.53125 L 25.65625,38.46875 C 25.659401,38.010596 26.012085,37.630783
26.46875,37.59375 C 29.20929,37.394221 31.696414,36.323628 33.71875,34.6875 C 34.071541,34.399193
34.585673,34.426252 34.90625,34.75 L 37.6875,37.53125 C 37.698175,37.541405 37.708595,37.551825
37.71875,37.5625 C 38.195082,38.094871 38.491333,37.932624 38.71875,37.71875 C 38.832458,37.611813
38.907672,37.489364 38.90625,37.34375 C 38.904828,37.198136 38.866787,37.007822 38.5625,36.71875 C
38.551825,36.708595 38
.541405,36.698175 38.53125,36.6875 L 35.75,33.90625 C 35.426252,33.585673 35.399193,33.071541
35.6875,32.71875 C 37.328102,30.689104 38.366546,28.198849 38.5625,25.4375 C 38.599533,24.980835
38.979346,24.628151 39.4375,24.625 L 43.53125,24.625 C 44.118829,24.625 44.267023,24.281581 44.28125,23.96875
C 44.288364,23.812334 44.242164,23.683302 44.15625,23.59375 C 44.070336,23.504198 43.917728,23.40625
43.53125,23.40625 L 39.34375,23.40625 C 38.906808,23.406863 38.534971,23.088145 38.46875,22.65625 C
38.101164,20.032652 36.98685,17.661116 35.3125,15.78125 C 34.996295,15.43165 35.010044,14.895436
35.34375,14.5625 L 38.5,11.40625 C 38.515299,11.389252 38.517035,11.391435 38.53125,11.375 C
39.042145,10.784319 38.864072,10.540391 38.6875,10.375 C 38.506015,10.205007 38.180911,10.066987
37.65625,10.5625 L 34.375,13.84375 C 34.066854,14.158888 33.573641,14.198879 33.21875,13.9375 C
31.289159,12.522765 28.99632,11.623605 26.46875,11.4375 C 26.012085,11.400467 25.659401,11.020654 25.656
25,10.5625 L 25.65625,5.53125 C 25.65625,5.1134947 25.532627,4.9419285 25.4375,4.84375 C 25.342373,4.7455715
25.239343,4.6831252 25.09375,4.6875 z "
+
style="opacity:0.64606742;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient5158);stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path5150" />
+ <g
+ transform="matrix(0.906044,0,0,0.906044,-55.755334,-3.2972769)"
+ id="g11350">
+ <g
+ transform="matrix(0.50181,0,0,0.50181,77.515538,19.216431)"
+ id="g1491">
+ <g
+ id="g1493" />
+ <g
+ id="g11312">
+ <g
+ id="g4006">
+ <path
+ d="M 46.857143 23.928572 A 23.357143 23.357143 0 1 1 0.1428566,23.928572 A 23.357143
23.357143 0 1 1 46.857143 23.928572 z"
+ transform="matrix(0.920488,0,0,0.920488,2.368532,0.97408)"
+
style="fill:url(#linearGradient11363);fill-opacity:1;fill-rule:nonzero;stroke:#b20000;stroke-width:2.16492105;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path1314" />
+ <path
+ d="M 49.901535 26.635273 A 23.991123 23.991123 0 1 1 1.9192886,26.635273 A 23.991123
23.991123 0 1 1 49.901535 26.635273 z"
+ transform="matrix(0.804178,0,0,0.804178,3.163406,1.58053)"
+
style="opacity:0.34659089;fill:#cc0000;fill-opacity:0;stroke:url(#linearGradient11365);stroke-width:2.47803497;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path3560" />
+ </g>
+ </g>
+ <g
+ id="layer3">
+ <path
+ d="M 21.158162,27.488536 L 20.704556,6.8863757 L 26.590888,6.8863757 L 26.202083,27.488536 L
21.158162,27.488536 z "
+
style="fill:#efefef;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73876643;stroke-miterlimit:4;stroke-opacity:0.8627451"
+ id="rect2070" />
+ </g>
+ <g
+ id="layer4">
+ <path
+ d="M 43.370686,21.715486 C 43.370686,32.546102 33.016357,15.449178 24.695948,22.101874 C
16.569626,28.599385 4.0989837,34.292422 4.0989837,23.461806 C 4.0989837,12.377753 12.79438,2.0948032
23.625,2.0948032 C 34.455619,2.0948032 43.370686,10.884868 43.370686,21.715486 z "
+ transform="matrix(1.002994,0,0,1.002994,-7.185874e-2,1.968356e-2)"
+
style="fill:url(#linearGradient11367);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
+ id="path3955" />
+ </g>
+ </g>
+ <path
+ d="M 35.797279 38.542446 A 1.8561553 1.8561553 0 1 1 32.084969,38.542446 A 1.8561553 1.8561553 0 1
1 35.797279 38.542446 z"
+ transform="translate(55.52947,-2.387226)"
+
style="color:#000000;fill:#efefef;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path4327" />
+ </g>
+ </g>
+</svg>
diff --git a/brightness/icons/scalable/status/gpm-brightness-lcd.svg
b/brightness/icons/scalable/status/gpm-brightness-lcd.svg
new file mode 100644
index 0000000..e54b787
--- /dev/null
+++ b/brightness/icons/scalable/status/gpm-brightness-lcd.svg
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ version="1.0"
+ width="48"
+ height="48"
+ id="svg11300">
+ <defs
+ id="defs3">
+ <linearGradient
+ id="linearGradient5170">
+ <stop
+ style="stop-color:#000000;stop-opacity:1"
+ offset="0"
+ id="stop5172" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0"
+ offset="1"
+ id="stop5174" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5160">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop5162" />
+ <stop
+ style="stop-color:#d3d7cf;stop-opacity:1"
+ offset="1"
+ id="stop5164" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5152">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop5154" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1"
+ id="stop5156" />
+ </linearGradient>
+ <linearGradient
+ x1="23.28125"
+ y1="21.40625"
+ x2="21.78125"
+ y2="55.90625"
+ id="linearGradient5158"
+ xlink:href="#linearGradient5152"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ cx="25.90625"
+ cy="18.03125"
+ r="19.005075"
+ fx="25.90625"
+ fy="18.03125"
+ id="radialGradient5166"
+ xlink:href="#linearGradient5160"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.73703,0,0,0.73703,6.812572,4.741682)" />
+ <radialGradient
+ cx="25.3125"
+ cy="40.75"
+ r="18.0625"
+ fx="25.3125"
+ fy="40.75"
+ id="radialGradient5176"
+ xlink:href="#linearGradient5170"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.352941,0,26.36765)" />
+ </defs>
+ <g
+ id="layer1">
+ <path
+ d="M 43.375 40.75 A 18.0625 6.375 0 1 1 7.25,40.75 A 18.0625 6.375 0 1 1 43.375 40.75 z"
+ transform="matrix(1.138408,0,0,1.138408,-3.50346,-7.640138)"
+
style="opacity:0.23595503;color:#000000;fill:url(#radialGradient5176);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path5168" />
+ <path
+ d="M 23.5625,5.53125 L 23.5625,10.65625 C 20.993604,11.013501 18.646191,12.073753 16.71875,13.625 L
13,9.90625 C 11.095031,8.0012812 9.0459565,10.139706 10.90625,12 L 14.625,15.71875 C 13.067023,17.637172
12.020502,19.969868 11.65625,22.53125 L 6.53125,22.53125 C 3.7855147,22.53125 4.0547984,25.5 6.53125,25.5 L
11.5625,25.5 C 11.755706,28.205867 12.703674,30.683551 14.21875,32.75 L 10.90625,36.0625 C 9.09375,37.875
11.318297,39.837953 13,38.15625 L 16.1875,34.96875 C 18.204948,36.76564 20.755546,37.956654 23.5625,38.34375
L 23.5625,42.53125 C 23.5625,45.184373 26.53125,45.188786 26.53125,42.53125 L 26.53125,38.46875 C
29.46022,38.255502 32.127787,37.117213 34.28125,35.375 L 37.0625,38.15625 C 38.565102,39.835629
40.924017,37.741879 39.15625,36.0625 L 36.375,33.28125 C 38.125006,31.116256 39.228658,28.44297 39.4375,25.5
L 43.53125,25.5 C 45.566103,25.5 45.836136,22.53125 43.53125,22.53125 L 39.34375,22.53125 C
38.952144,19.73621 37.759213,17.197731 35.96875,15.1875 L 3
9.15625,12 C 40.74724,10.232233 38.65349,8.4036481 37.0625,9.90625 L 33.75,13.21875 C 31.691357,11.709397
29.225223,10.760857 26.53125,10.5625 L 26.53125,5.53125 C 26.53125,3.1431283 23.5625,3.3215413
23.5625,5.53125 z "
+
style="opacity:1;color:#000000;fill:url(#radialGradient5166);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.01015258;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path4263" />
+ <path
+ d="M 25.09375,4.6875 C 24.802565,4.6962497 24.4375,4.830562 24.4375,5.53125 L 24.4375,10.65625 C
24.438113,11.093192 24.119395,11.465029 23.6875,11.53125 C 21.282157,11.865756 19.088867,12.85769
17.28125,14.3125 C 16.928459,14.600807 16.414327,14.573748 16.09375,14.25 L 12.375,10.53125 C
11.651494,9.8077446 11.33476,10.005814 11.1875,10.15625 C 11.04024,10.306686 10.835581,10.679331
11.53125,11.375 L 15.25,15.09375 C 15.573748,15.414327 15.600807,15.928459 15.3125,16.28125 C
13.853456,18.077851 12.872809,20.254443 12.53125,22.65625 C 12.465029,23.088145 12.093192,23.406863
11.65625,23.40625 L 6.53125,23.40625 C 6.0040952,23.40625 5.7220217,23.54544 5.59375,23.65625 C
5.4654783,23.76706 5.4636361,23.855992 5.46875,23.96875 C 5.4789779,24.194267 5.6462216,24.625 6.53125,24.625
L 11.5625,24.625 C 12.020654,24.628151 12.400467,24.980835 12.4375,25.4375 C 12.618808,27.976731
13.517676,30.282217 14.9375,32.21875 C 15.198879,32.573641 15.158888,33.066854 14.84375,33.375 L 11
.53125,36.6875 C 11.198455,37.020295 11.132722,37.278629 11.125,37.4375 C 11.117278,37.596371
11.159115,37.695871 11.25,37.78125 C 11.431769,37.952008 11.793527,38.112723 12.375,37.53125 L
15.5625,34.34375 C 15.895436,34.010044 16.43165,33.996295 16.78125,34.3125 C 18.667254,35.992316
21.051823,37.105274 23.6875,37.46875 C 24.119395,37.534971 24.438113,37.906808 24.4375,38.34375 L
24.4375,42.53125 C 24.4375,43.528133 24.847358,43.62484 25.0625,43.625 C 25.277642,43.62516
25.65625,43.530887 25.65625,42.53125 L 25.65625,38.46875 C 25.659401,38.010596 26.012085,37.630783
26.46875,37.59375 C 29.20929,37.394221 31.696414,36.323628 33.71875,34.6875 C 34.071541,34.399193
34.585673,34.426252 34.90625,34.75 L 37.6875,37.53125 C 37.698175,37.541405 37.708595,37.551825
37.71875,37.5625 C 38.195082,38.094871 38.491333,37.932624 38.71875,37.71875 C 38.832458,37.611813
38.907672,37.489364 38.90625,37.34375 C 38.904828,37.198136 38.866787,37.007822 38.5625,36.71875 C
38.551825,36.708595 38
.541405,36.698175 38.53125,36.6875 L 35.75,33.90625 C 35.426252,33.585673 35.399193,33.071541
35.6875,32.71875 C 37.328102,30.689104 38.366546,28.198849 38.5625,25.4375 C 38.599533,24.980835
38.979346,24.628151 39.4375,24.625 L 43.53125,24.625 C 44.118829,24.625 44.267023,24.281581 44.28125,23.96875
C 44.288364,23.812334 44.242164,23.683302 44.15625,23.59375 C 44.070336,23.504198 43.917728,23.40625
43.53125,23.40625 L 39.34375,23.40625 C 38.906808,23.406863 38.534971,23.088145 38.46875,22.65625 C
38.101164,20.032652 36.98685,17.661116 35.3125,15.78125 C 34.996295,15.43165 35.010044,14.895436
35.34375,14.5625 L 38.5,11.40625 C 38.515299,11.389252 38.517035,11.391435 38.53125,11.375 C
39.042145,10.784319 38.864072,10.540391 38.6875,10.375 C 38.506015,10.205007 38.180911,10.066987
37.65625,10.5625 L 34.375,13.84375 C 34.066854,14.158888 33.573641,14.198879 33.21875,13.9375 C
31.289159,12.522765 28.99632,11.623605 26.46875,11.4375 C 26.012085,11.400467 25.659401,11.020654 25.656
25,10.5625 L 25.65625,5.53125 C 25.65625,5.1134947 25.532627,4.9419285 25.4375,4.84375 C 25.342373,4.7455715
25.239343,4.6831252 25.09375,4.6875 z "
+
style="opacity:0.64606742;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient5158);stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path5150" />
+ </g>
+</svg>
diff --git a/brightness/org.gnome.BrightnessApplet.panel-applet.in.in
b/brightness/org.gnome.BrightnessApplet.panel-applet.in.in
new file mode 100644
index 0000000..22b1608
--- /dev/null
+++ b/brightness/org.gnome.BrightnessApplet.panel-applet.in.in
@@ -0,0 +1,15 @@
+[Applet Factory]
+Id=BrightnessAppletFactory
+Location= LIBEXECDIR@/gnome-brightness-applet
+Name=Brightness Applet Factory
+Description=Factory for Brightness Applet
+
+[BrightnessApplet]
+_Name=Brightness Applet
+_Description=Adjusts Laptop panel brightness
+Icon=gnome-brightness-applet
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=gnome-applets
+X-GNOME-Bugzilla-Component=Brightness Applet (brightness)
+X-GNOME-Bugzilla-Version= VERSION@
+X-GNOME-Bugzilla-OtherBinaries=gnome-brightness-applet
diff --git a/brightness/org.gnome.SettingsDaemon.Power.Screen.xml
b/brightness/org.gnome.SettingsDaemon.Power.Screen.xml
new file mode 100644
index 0000000..f6cc20a
--- /dev/null
+++ b/brightness/org.gnome.SettingsDaemon.Power.Screen.xml
@@ -0,0 +1,21 @@
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<!-- GDBus 2.44.1 -->
+<node>
+ <interface name="org.gnome.SettingsDaemon.Power.Screen">
+ <method name="StepUp">
+ <arg type="i" name="new_percentage" direction="out">
+ </arg>
+ <arg type="i" name="output_id" direction="out">
+ </arg>
+ </method>
+ <method name="StepDown">
+ <arg type="i" name="new_percentage" direction="out">
+ </arg>
+ <arg type="i" name="output_id" direction="out">
+ </arg>
+ </method>
+ <property type="i" name="Brightness" access="readwrite">
+ </property>
+ </interface>
+</node>
diff --git a/brightness/org.gnome.panel.applet.BrightnessAppletFactory.service.in
b/brightness/org.gnome.panel.applet.BrightnessAppletFactory.service.in
new file mode 100644
index 0000000..6b9beab
--- /dev/null
+++ b/brightness/org.gnome.panel.applet.BrightnessAppletFactory.service.in
@@ -0,0 +1,3 @@
+[D-BUS Service]
+Name=org.gnome.panel.applet.BrightnessAppletFactory
+Exec= LIBEXECDIR@/gnome-brightness-applet
diff --git a/configure.ac b/configure.ac
index 9ecabef..1a7ada7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -641,6 +641,26 @@ battstat/apmlib/Makefile
battstat/help/Makefile
battstat/Makefile
battstat/sounds/Makefile
+brightness/Makefile
+brightness/icons/Makefile
+brightness/icons/16x16/Makefile
+brightness/icons/16x16/apps/Makefile
+brightness/icons/16x16/status/Makefile
+brightness/icons/22x22/Makefile
+brightness/icons/22x22/apps/Makefile
+brightness/icons/22x22/status/Makefile
+brightness/icons/24x24/Makefile
+brightness/icons/24x24/apps/Makefile
+brightness/icons/24x24/status/Makefile
+brightness/icons/32x32/Makefile
+brightness/icons/32x32/apps/Makefile
+brightness/icons/32x32/status/Makefile
+brightness/icons/48x48/Makefile
+brightness/icons/48x48/apps/Makefile
+brightness/icons/48x48/status/Makefile
+brightness/icons/scalable/Makefile
+brightness/icons/scalable/apps/Makefile
+brightness/icons/scalable/status/Makefile
charpick/help/Makefile
charpick/Makefile
cpufreq/help/Makefile
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 074c5cd..312fdd4 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -12,6 +12,9 @@ battstat/battstat_applet.c
battstat/org.gnome.gnome-applets.battstat.gschema.xml.in.in
battstat/properties.c
battstat/sounds/battstat_applet.soundlist.in
+brightness/brightness-applet.c
+[type: gettext/glade]brightness/brightness-applet-menu.xml
+[type: gettext/ini]brightness/org.gnome.BrightnessApplet.panel-applet.in.in
charpick/charpick.c
[type: gettext/glade]charpick/charpick-applet-menu.xml
[type: gettext/ini]charpick/org.gnome.applets.CharpickerApplet.panel-applet.in.in
diff --git a/po/POTFILES.skip b/po/POTFILES.skip
index f09c8d0..f22acd7 100644
--- a/po/POTFILES.skip
+++ b/po/POTFILES.skip
@@ -6,6 +6,7 @@
accessx-status/org.gnome.applets.AccessxStatusApplet.panel-applet.in
battstat/org.gnome.applets.BattstatApplet.panel-applet.in
battstat/org.gnome.gnome-applets.battstat.gschema.xml.in
+brightness/org.gnome.BrightnessApplet.panel-applet.in
charpick/org.gnome.applets.CharpickerApplet.panel-applet.in
charpick/org.gnome.gnome-applets.charpick.gschema.xml.in
cpufreq/org.gnome.applets.CPUFreqApplet.panel-applet.in
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]