Skip to content

DarkPhilosophy/brightness-restore

Repository files navigation

Brightness Restore for GNOME Shell

Extension CI CodeRabbit Pull Request Reviews GNOME Extensions GNOME 45-50 License: GPL v3

Brightness Restore - A GNOME Shell extension that solves the "missing persistence" issue for software brightness controls (especially on external monitors combined with OLED/Wayland setups).

It automatically saves your local brightness adjustments and restores them upon login, ensuring your preferred brightness level is always maintained.

Status: Live on GNOME Extensions (ID: 9214).

Status: Pending GitHub GNOME

Features

  • Persistence: Automatically saves the last known brightness level to disk.
  • Auto-Restore: Applies the saved brightness level immediately upon session startup.
  • Integration: Connects directly to Gnome Shell's internal brightnessManager.
  • Indicator: Shows a simple percentage indicator in the panel (configurable).
  • Positioning: Choose to place the indicator on the Left or Right of the QuickSettings area.

Validation Status

Linting Status

Status: ✅ Passing
Last Updated: 2026-04-23 05:05:00 UTC
Summary: 0 errors, 0 warnings

Click to view full lint output
> brightness-restore@4.0.0 lint:fix
> eslint --fix extension .scripts --format stylish || true; echo LINT_DONE

LINT_DONE
Latest Update (v4)
  • Add the new extension icon asset for the next release cycle.
  • Add Idle Screen Timeout settings and runtime screen-off actions.
  • Add 10-second timeout option for fast testing from preferences.
  • Add manual Screen Control test path handled by the shell process.
  • Fix overlay and D-Bus wake/sleep behavior to avoid freezes and delayed triggers.

Configuration

You can configure the extension using standard Gnome Extensions settings (or dconf).

General

Setting Default Description
Restore on Startup true Whether to restore the saved value on login.
Indicator Style quick-settings standalone (Panel Button) or quick-settings (Pill).
Indicator Position right left, right, or default (Only for Quick Settings).
Interval 2 Internal update interval (debounced save).
Last Brightness -1.0 Last saved brightness value. -1.0 means unset.

Idle Screen Timeout

Setting Default Description
Enable Idle Timeout false Automatically blank the screen after the configured idle period.
Idle Duration 300 (5 minutes) Time in seconds before the idle timeout triggers.
Timeout Action overlay Screen blank method: overlay or dbus.

Debug

Setting Default Description
Enable Debug false Enable debug-only controls and extra logging.
Log Level 1 0=Verbose, 1=Debug, 2=Info, 3=Warn, 4=Error.
Log to File true Write debug logs to file.
Log File Path '' Custom path for the log file. Empty uses the default cache path.
Screen Test Action overlay Manual screen blank test mode used by the debug Screen Control action.
Screen Test Sequence 0 Internal counter incremented to request a new manual screen test.

Install

Local Build

./build.sh

Manual

Copy the extension/ folder to ~/.local/share/gnome-shell/extensions/brightness-restore@DarkPhilosophy.

Contributing

About

GNOME Shell extension that restores software brightness on login and keeps brightness persistent across sessions.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors