Review of "AlbumWM" version 50.0.0 (1)

Details Page Preview

Scrollable tiling extension for GNOME Shell (PaperWM fork). User guide: https://github.com/poli0iq/albumwm/blob/main/docs/user_guide.md Star the repo: https://github.com/poli0iq/albumwm

Extension Homepage
https://albumwm.0iq.dev

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) error 2 warning 4

Shexli found 6 issues that may need reviewer attention.

EGO-I-002 error

Gtk, Gdk and Adw must not be imported in shell process files

GTK library `Gdk` must not be imported in extension process files.

Do not import GTK libraries in GNOME Shell

  • wm/acceleratorparse.js:1
    import Gdk from 'gi://Gdk?version=4.0';

EGO-A-004 warning

extension files should not contain excessive ungated console logging

File contains 8 ungated console.log/warn/error calls (threshold: 5).

No excessive logging

  • wm/tiling.js:168
    console.error(e)
  • wm/tiling.js:2269
    console.error('#winprops', `${overwriteSpace} is not a valid index. Ignoring.`)
  • wm/tiling.js:445
    console.warn('invalid preferredWidth value')
  • wm/tiling.js:457
    console.warn('invalid preferredWidth unit:', `'${prop.unit}'`, "(should be 'px' or '%')")
  • wm/tiling.js:776
    console.warn(`clone/window position-changed recursive call: ${w.title}`)
  • wm/tiling.js:1519
    console.warn(`MONITORS_CHANGED: no primary monitor, 'layout' on spaces call ${called}`)
  • wm/tiling.js:1830
    console.warn('window already registered', metaWindow.title)
  • wm/tiling.js:2287
            console.warn('#winprops', `overwriteSpace with index ${spaceIndex} does not exist. \
    Opening "${metaWindow?.title}" on current space.`)

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-P-004 error

GSettings schema XML filename must match schema id

GSettings schema filename must match `<schema-id>.gschema.xml`.

GSettings Schemas

  • schemas/org.gnome.shell.extensions.albumwm.gschema.xml
    id='org.gnome.shell.extensions.albumwm.keybindings' path='/org/gnome/shell/extensions/albumwm/keybindings/'

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

  • wm/tiling.js:17
    mutterSettings = new Gio.Settings({ schema_id: 'org.gnome.mutter' })
  • wm/tiling.js:17
    new Gio.Settings({ schema_id: 'org.gnome.mutter' })

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

  • wm/topbar.js:78
            this.tooltip_parent.connect('enter-event', _icon => {
                this.updateTooltipText();
                this._updateTooltipPosition();
                tt.show();
                // alignment needs to be set after actor is shown
                tt.clutter_text.set_line_alignment(Pango.Alignment.CENTER);
    
  • wm/topbar.js:85
            this.tooltip_parent.connect('leave-event', (_icon, _event) => {
                if (!this.has_pointer) {
                    tt.hide();
                }
            })

All Versions

Version Status
50.0 (2) Unreviewed
50.0.0 (1) Rejected

Previous Reviews on this Version

poli0iq auto- rejected
Auto-rejected because of new version 50.0 (2) was uploaded