Review of "Dash2Dock Motion" version 2

Details Page Preview

Dock with cosine-window icon magnification, a translucent glass slab and configurable rise.

Extension Homepage
https://github.com/Unmade760/dash2dock-motion

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) warning 9

Shexli found 9 issues that may need reviewer attention.

EGO-X-006 warning

extensions should not use lookupByURL or lookupByUUID for current extension access

Use `this`, `this.getSettings()` or `this.path` instead of `lookupByURL()` or `lookupByUUID()` for the current extension.

`extensionUtils`

  • desktopIconsIntegration.js:76
    Extension.lookupByURL(import.meta.url)

EGO-I-004 warning

extensions should not use imports._gi directly

Direct use of `imports._gi` is discouraged in extensions.

InjectionManager

  • utils.js:407
    Gi.gobject_prototype_symbol
  • utils.js:408
    Gi.gobject_prototype_symbol
  • utils.js:410
    Gi.hook_up_vfunc_symbol

EGO-P-007 warning

JavaScript files should be reachable from extension.js or prefs.js

Some JavaScript files are not reachable from `extension.js` or `prefs.js` imports.

Don't include unnecessary files

  • locationsWorker.js

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

  • docking.js:295
    this.staticBox = new Clutter.ActorBox()

EGO-L-001 warning

extension must not create GObject instances or modify shell before enable()

Resource creation or signal/source setup was found outside `enable()`.

Only use initialization for static resources

  • appIcons.js:50
    tracker = Shell.WindowTracker.get_default()

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

Destroy all objects

  • docking.js:295
    this.staticBox = new Clutter.ActorBox()

EGO-L-003 warning

signals connected by extension should be disconnected in disable()

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

Disconnect all signals

  • appIcons.js:1112
    source.connect('destroy', () => this.destroy())
  • docking.js:1094
                this._pressureBarrier.connect('trigger', _barrier => {
                    if (!settings.autohideInFullscreen && this._monitor.inFullscreen)
                        return;
                    this._onPressureSensed();
                })
  • docking.js:1520
                    Main.wm._workspaceSwitcherPopup.connect('destroy', actor => {
                        if (Main.wm._workspaceSwitcherPopup === actor)
                            delete Main.wm._workspaceSwitcherPopup;
                    })

EGO-L-004 warning

main loop sources should be removed in disable()

Main loop sources assigned in `enable()` are missing matching removals in `disable()` or its helper methods.

Remove main loop sources

  • docking.js:1014
                    this._dockDwellTimeoutId = GLib.timeout_add(
                        GLib.PRIORITY_DEFAULT,
                        DockManager.settings.showDelay * 1000,
                        this._dockDwellTimeout.bind(this))
  • docking.js:1496
                        this._optionalScrollWorkspaceSwitchDeadTimeId = GLib.timeout_add(
                            GLib.PRIORITY_DEFAULT, 250, () => {
                                this._optionalScrollWorkspaceSwitchDeadTimeId = 0;
                            })

EGO-C45-001 warning

45+ preferences should use fillPreferencesWindow instead of getPreferencesWidget

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

Preferences

  • prefs.js:1385
        getPreferencesWidget() {
            const settings = new DockSettings(this);
            const {widget} = settings;
            return widget;
        }

All Versions

Version Status
4 Unreviewed
3 Rejected
2 Rejected
1 Rejected

Previous Reviews on this Version

unmade auto- rejected
Auto-rejected because of new version 3 was uploaded