Review of "ARD Window List/Taskbar" version 1

Details Page Preview

Adaptive Responsive Desktop Window List/Taskbar: a GNOME Shell Extension for a customizable taskbar, window list, and bottom panel. It adapts window grouping to available space and provides workspace controls and live appearance settings.

Extension Homepage
https://github.com/ziyakarakaya/ard-window-list

No comments.

FAQ

Files

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

Shexli (experimental) warning 4

Shexli found 4 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`

  • extension.js:588
    Extension.lookupByURL(import.meta.url)
  • workspaceIndicator.js:529
    Extension.lookupByURL(import.meta.url)

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:407
            this._button = new St.Button({
                style_class: 'window-button',
                can_focus: true,
                x_expand: true,
                button_mask: St.ButtonMask.ONE | St.ButtonMask.THREE,
            })
  • extension.js:432
    this._contextMenuManager = new PopupMenu.PopupMenuManager(this)
  • extension.js:674
    this._contextMenu = new WindowContextMenu(this, this.metaWindow)
  • extension.js:1001
    this._contextMenu = new WindowContextMenu(this, window)
  • extension.js:930
    this._menu = new PopupMenu.PopupMenu(this, 0.5, St.Side.BOTTOM)
  • extension.js:929
    this._menuManager = new PopupMenu.PopupMenuManager(this)

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

  • extension.js:407
            this._button = new St.Button({
                style_class: 'window-button',
                can_focus: true,
                x_expand: true,
                button_mask: St.ButtonMask.ONE | St.ButtonMask.THREE,
            })
  • extension.js:432
    this._contextMenuManager = new PopupMenu.PopupMenuManager(this)
  • extension.js:674
    this._contextMenu = new WindowContextMenu(this, this.metaWindow)
  • extension.js:1001
    this._contextMenu = new WindowContextMenu(this, window)
  • extension.js:930
    this._menu = new PopupMenu.PopupMenu(this, 0.5, St.Side.BOTTOM)
  • extension.js:929
    this._menuManager = new PopupMenu.PopupMenuManager(this)
  • extension.js:942
    this._windowTracker = Shell.WindowTracker.get_default()

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

  • extension.js:428
    this._button.connect('clicked', this._onClicked.bind(this))
  • extension.js:415
            this._button.connect('notify::hover', () => {
                if (this._button.hover)
                    this.showLabel();
                else
                    this.hideLabel();
            })
  • extension.js:448
            this._draggable.connect('drag-begin', () => {
                this._removeLongPressTimeout();
                this.emit('drag-begin');
            })
  • extension.js:452
            this._draggable.connect('drag-cancelled', () => {
                this._draggable._dragActor?.setTargetWidth(this.width);
                this.emit('drag-end');
            })
  • extension.js:456
    this._draggable.connect('drag-end', () => this.emit('drag-end'))
  • extension.js:675
            this._contextMenu.connect('open-state-changed',
                this._onMenuStateChanged.bind(this))
  • extension.js:822
            this._tooltipLabel.connect('destroy', () => {
                this._tooltipLabel = null;
            })
  • extension.js:1009
            this._contextMenu.connect(
                'open-state-changed', this._onMenuStateChanged.bind(this))
  • extension.js:934
    this._menu.connect('activate', this._onMenuActivate.bind(this))
  • extension.js:931
            this._menu.connect('open-state-changed',
                this._onMenuStateChanged.bind(this))
  • workspaceIndicator.js:429
            this._entry.clutter_text.connect('activate',
                () => this._stopEditing())

All Versions

Version Status
4 Unreviewed
3 Rejected
2 Rejected
1 Rejected

Previous Reviews on this Version

ziya.karakaya auto- rejected
Auto-rejected because of new version 2 was uploaded