Shows clock, date and notifications on a black background instead of turning off the display on the lock screen
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
You should follow the [Extension Best Practices Guidelines](https://gjs.guide/extensions/review-guidelines/best-practices.html). This code has many lines of unnecessary code. If you need any help with your extension you can ask us on: - [GNOME Extensions Matrix Channel](https://matrix.to/#/#extensions:gnome.org) - IRC Bridge: irc://irc.gimpnet.org/shell-extensions
Also, is this extension only modifies unlock dialog? If so, you should remove `user` session mode.
Thanks for the review, sorry for the long response. I'm reworked the code: - Removed all unnecessary logging (extension now only calls logError() on dbus proxy fails) * Dropped the copied-out upstream code. _activateFade and _onUserBecameActive now call the original in every path they don't change, and the _setActive override is only the few lines needed to make the active-changed emission conditional - disable() no longer disables selectively: it used to skip cleanup while Main.sessionMode.isLocked. Cleanup is uncronditional now. - Made naming and style consistent between extension.js and prefs.js. On the session mode: no, the extension doesn't only modify the unlock dialog. It patches Main.screenShield, and the decisive part runs in the user session. ScreenShield.activate() calls Main.sessionMode.pushMode('unlock-dialog') and then continues *synchronously* into _resetLockScreen() -> _lockScreenShown() -> _setActive(true), while enabling extensions for the new session mode is async (_sessionUpdated() -> await _onEnabledExtensionsChanged() -> _enableAllExtensions()). With only unlock-dialog declared, my _setActive override would be installed after active-changed had already been emitted, so gnome-settings-daemon would blank the display on the idle -> lock path, which is the exact thing this extension exists to prevent. I'll test new version for a some time before upload
Also i have doubts about "hardware" screen dimming for gnome 50+. As far I understand, APIs for brightness control via gnome-settings-daemon and I use dirty trick (_dimmingTarget hook). May be I should fully drop hardware dimming for gnome 50? For OLED screens there is no visible difference between software and hardware dimming, but non-OLED sceens (with backlight) dimming will break.