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).
- 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.
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.
You can configure the extension using standard Gnome Extensions settings (or dconf).
| 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. |
| 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. |
| 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. |
./build.shCopy the extension/ folder to ~/.local/share/gnome-shell/extensions/brightness-restore@DarkPhilosophy.