Review of "Soft Brightness Plus" version 26

Details Page Preview

Add or override the brightness slider to change the brightness via an alpha layer (and optionally stop using or cooperate with the exising backlight, if present). Either internal, external or all monitors can be dimmed. See the GitHub page for details. Note that this extension will keep running on the lock screen, as you'd also want the brightness setting to apply to the lock screen as well. Please report on GitHub if this gives you any trouble. This extension is a fork of the original 'Soft brightness' extension, and maintains support for new GNOME releases.

Extension Homepage
https://github.com/jkitching/soft-brightness-plus

No comments.

Diff Against

Files

Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.

Shexli (experimental) error 1 warning 5

Shexli found 6 issues that may need reviewer attention.

EGO-C49-005 error

extensions targeting GNOME 49 must not call Meta.CursorTracker.set_pointer_visible

This extension explicitly targets GNOME Shell 49 but still calls removed `Meta.CursorTracker.set_pointer_visible()`.

Meta.CursorTracker

  • extension.js:780
    this._cursorTracker.set_pointer_visible(true)
  • extension.js:798
    this._cursorTracker.set_pointer_visible(false)
  • extension.js:802
    this._cursorTracker.set_pointer_visible(false)

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()`.

File Operations

  • utils.js:27
    file.load_contents(null)

EGO-P-006 warning

unnecessary build and translation artifacts should not be shipped

Compiled GSettings schemas should not be shipped for 45+ packages.

Don't include unnecessary files

  • schemas/gschemas.compiled
    schemas/gschemas.compiled

EGO-L-002 warning

objects created by extension should be destroyed in disable()

Objects assigned in `enable()` are missing matching `.destroy()` calls in `disable()` or its helper methods.

Destroy all objects

  • extension.js:696
    this._cursorActor = new Clutter.Actor()
  • extension.js:693
    this._cursorSprite = new Clutter.Actor({ request_mode: Clutter.RequestMode.CONTENT_SIZE })

EGO-C45-001 warning

45+ preferences should use fillPreferencesWindow instead of getPreferencesWidget

45+ preferences code should use `fillPreferencesWindow()` instead of `getPreferencesWidget()`.

Preferences

  • prefs.js:30
        getPreferencesWidget() {
            return new PreferencesPage(this.getSettings(), this.metadata);
        }

EGO-M-008 warning

extensions using unlock-dialog must document it in disable() comments

Extensions using `unlock-dialog` should document the reason in `disable()` comments.

Session Modes

  • extension.js:99
        disable() {
            this._logger.log_debug('disable(), session mode = ' + Main.sessionMode.currentMode);
    
            this._monitorManager.disable();
            this._overlayManager.disable();
            this._cursorManager.disable();
            this._indicatorManager.disable();
            this._screenshotManag

All Versions

Previous Reviews on this Version

jkitching auto- rejected
Auto-rejected because of new version 27 was uploaded