Review of "Vertical Window List" version 17

Details Page Preview

Displays opened windows in vertical panel with productivity perks: - left click to open favorites/activate window - right click to close - middle click to rename - middle click empty area to configure - drag-and-drop to re-order - Alt-Tab, Alt-Shift-Tab to cycle up/down - adjust panel width, transparency and icon size in extension settings

Extension Homepage
https://gitlab.com/student/vertical-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-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:59
            this.spacer_widget = new St.Label({
                reactive: true,
                text: '',
                y_align: Clutter.ActorAlign.FILL,
                x_expand: true,
                y_expand: true
            })
  • extension.js:47
            this.window_list = new St.Widget({
                style_class: 'windows-list',
                reactive: true,
                layout_manager: new Clutter.BoxLayout({
                    homogeneous: true,
                    orientation: Clutter.Orientation.VERTICAL
                }),
                y_align: Clutte

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:408
            button.draggable.connect('drag-begin', function () {
                let dragActor = new St.Button({
                    style_class: 'drag-button',
                    label: '' + metaWindow.title
                })
    
                let [sizeW, sizeH] = button.get_size()
                dragActor.set_size(sizeW, s
  • extension.js:407
    button.draggable.connect('drag-end', this.drag_end.bind(this, button))
  • extension.js:104
    this.window_panel.connect('destroy', () => { this.window_panel.disconnect(signal) })
  • extension.js:109
    this.window_panel.connect('destroy', () => { global.workspace_manager.disconnect(signal) })
  • extension.js:123
    this.window_panel.connect('destroy', () => { Main.layoutManager.disconnect(signal) })
  • extension.js:77
            this.window_panel.connect('destroy', () => {
                Main.wm.removeKeybinding('cycle-up')
                Main.wm.removeKeybinding('cycle-down')
            })
  • extension.js:84
    this.window_panel.connect('destroy', () => { this.settings.disconnect(signal) })
  • extension.js:89
    this.window_panel.connect('destroy', () => { this.settings.disconnect(signal) })
  • extension.js:94
    this.window_panel.connect('destroy', () => { this.settings.disconnect(signal) })
  • extension.js:99
    this.window_panel.connect('destroy', () => { this.window_panel.disconnect(signal) })

All Versions

Version Status
17 Active
16 Active
15 Active
14 Active
13 Rejected
12 Rejected
11 Active
10 Rejected
9 Active
8 Rejected
7 Active
6 Active
5 Active
4 Active
3 Rejected
2 Active
1 Rejected

Previous Reviews on this Version

fmuellner active