Auto Brightness+ puts a brightness slider for every monitor into Quick Settings, right next to the volume slider. External monitors are controlled over DDC/CI (ddcutil), laptop screens through the backlight. * One thin slider per monitor; hover to see its name * Automatic dimming per monitor: from sunset (or a set time) brightness goes down like the light outside and comes back in the morning; shape the evening on a small graph with the real sky behind it * A simple menu: pick a value, one slider sets it (or a detailed menu with a slider for everything) * Buttons that run by themselves at a time of the evening (e.g. turn the other screens off), undone in the morning * Per monitor Night Light and red screen strength (×0–×2), extra dimming * Lowest light with one click; turn a screen off, or all the other screens: clicks still reach the apps, the screen lights up smoothly while the mouse is on it * Claude Code is done (optional): a notification, and the turned off screen with its terminal lights up * Sunset from your location, the same way Night Light does it, without extra permissions * Fast: monitor writes are merged and never block the desktop * Available in 18 languages External monitors need ddcutil and access to /dev/i2c-* (i2c group). Without it, sliders fall back to software dimming. Made by Dukha.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
EGO-X-004 warning
extensions should avoid synchronous file IO in shell code
Shell code should avoid synchronous file IO APIs like `GLib.file_get_contents()` and `Gio.File.load_contents()`.
lib/ddc.js:74
GLib.file_get_contents(CACHE_FILE)
lib/location.js:33
GLib.file_get_contents(path)
lib/notify.js:30
GLib.file_get_contents(`/proc/${pid}/stat`)
EGO-L-005 warning
owned object references should be released in disable()
Owned references that are cleaned up in `disable()` should also be released with `null` or `undefined`.
lib/overlay.js:21
this.actor = new St.Widget({
name: `auto-brightness-plus-dim-${index}`,
style: 'background-color: black;',
reactive: false,
visible: false,
opacity: 0,
})
EGO-M-004 error
metadata shell-version must only include plausible stable releases and at most one development release
Field `shell-version` contains invalid values, more than one development release, or implausible future releases.
metadata.json must be well-formed
metadata.json
shell-version=['46', '47', '48', '49', '50', '51']
| Version | Status |
|---|---|
| 2.0 (3) | Unreviewed |
| 2.0 (2) | Rejected |
| 2.0 (1) | Rejected |