Review of "ARD Window List/Taskbar" version 2

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.

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 3

Shexli found 3 issues that may need reviewer attention.

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:414
            this._appName = new St.Label({
                style_class: 'window-list-hover-card-app',
            })
  • extension.js:421
    this._preview = new St.Bin({clip_to_allocation: true})
  • extension.js:422
    this._title = new St.Label()
  • extension.js:686
    this._bridge = new St.Widget({reactive: true, clip_to_allocation: true})
  • extension.js:677
            this._content = new St.BoxLayout({
                style_class: 'window-list-group-preview-rows',
                orientation: Clutter.Orientation.VERTICAL,
                clip_to_view: true,
            })
  • extension.js:661
            this._panel = new St.BoxLayout({
                style_class: 'window-list-group-preview-panel',
                orientation: Clutter.Orientation.VERTICAL,
                clip_to_allocation: true,
            })
  • extension.js:666
            this._scroll = new St.ScrollView({
                style_class: 'window-list-group-preview-scroll',
                reactive: true,
                hscrollbar_policy: St.PolicyType.NEVER,
                vscrollbar_policy: St.PolicyType.AUTOMATIC,
                overlay_scrollbars: false,
                enable_mo
  • extension.js:1081
            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:1108
    this._contextMenuManager = new PopupMenu.PopupMenuManager(this)
  • extension.js:1412
    this._contextMenu = new WindowContextMenu(this, this.metaWindow)
  • extension.js:1735
    this._contextMenu = new WindowContextMenu(this, window)
  • extension.js:1631
    this._menu = new PopupMenu.PopupMenu(this, 0.5, St.Side.BOTTOM)
  • extension.js:1630
    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:1412
    this._contextMenu = new WindowContextMenu(this, this.metaWindow)
  • extension.js:1735
    this._contextMenu = new WindowContextMenu(this, window)
  • extension.js:1631
    this._menu = new PopupMenu.PopupMenu(this, 0.5, St.Side.BOTTOM)
  • extension.js:1630
    this._menuManager = new PopupMenu.PopupMenuManager(this)
  • extension.js:1647
    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:445
    this._actor.connect('style-changed', () => this._queueUpdate())
  • extension.js:691
            this._actor.connect('captured-event', (_actor, event) => {
                if (this._modalGrab && event.type() === Clutter.EventType.KEY_PRESS &&
                    event.get_key_symbol() === Clutter.KEY_Escape) {
                    this._button._hoverDismissed = true;
                    this._button._ca
  • extension.js:689
    this._actor.connect('notify::hover', () => this.syncHover())
  • extension.js:703
    this._panel.connect('style-changed', () => this._queueLayout())
  • extension.js:704
    this._scroll.connect('style-changed', () => this._queueLayout())

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 3 was uploaded