[gnome-applets] Add Brightness Applet



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]