gnome-power-manager was rewritten for GNOME 3.2 and merged directly into gnome-settings-daemon (g-s-d) as a plugin responsible for system power policy. Most power management is handled by UPower, with backlight brightness being a key exception. Backlight is managed at the session level by gnome-settings-daemon via its power plugin using XRandR or standard sysfs, depending on hardware and driver support.

To read screen brightness over D-Bus:

gdbus call --session \
  --dest org.gnome.SettingsDaemon \
  --object-path /org/gnome/SettingsDaemon/Power \
  --method org.gnome.SettingsDaemon.Power.Screen.GetPercentage

Why bother with this? On a tablet device (such as the WeTab), brightness settings were buried deep in system menus and cumbersome to reach. With the custom GNOME Shell brightness extension (download archive), you can adjust screen brightness directly from the top bar. This requires patching gnome-settings-daemon to emit the Changed signal (GNOME Bug 658493).

On a side note: the developers working on GNOME Shell (along with Richard Hughes) were incredibly helpful and a pleasure to collaborate with.

GNOME Shell Brightness Screenshot

To-Do

  • Add distinct display brightness symbolic icons for various percentage levels, plus one for auto-brightness.
  • Improve Ambient Light Sensor (ALS) driver support on Linux.