Review of "Saved Desks" version 4

Details Page Preview

Save and restore window layouts on workspaces (Requires GNOME set to 'Workspaces on primary display only').

Extension Homepage
https://github.com/loginone33/saved-desks

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

Shexli found 7 issues that may need reviewer attention.

EGO-X-004 warning

extensions should avoid synchronous file IO in shell code

Shell code should avoid synchronous file IO APIs like `GLib.file_get_contents()` and `Gio.File.load_contents()`.

File Operations

  • extension.js:289
    GLib.file_get_contents(filePath)

EGO-A-004 warning

extension files should not contain excessive ungated console logging

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

No excessive logging

  • extension.js:60
    console.error(`[SavedDesks] Error saving desk: ${e.message}`, e)
  • extension.js:296
    console.error(`[SavedDesks] Error reading desks file: ${e.message}`)
  • extension.js:560
    console.error(`[SavedDesks] Could not launch app with ID: ${appId}`)
  • extension.js:680
    console.error(`[SavedDesks] Error moving window workspace: ${e.message}`)
  • extension.js:687
    console.error(`[SavedDesks] Error in _applyGeometry: ${e.message}`)
  • extension.js:740
    console.error(`[SavedDesks] Error tiling left: ${e.message}`)
  • extension.js:762
    console.error(`[SavedDesks] Error tiling right: ${e.message}`)

EGO-C49-003 error

extensions targeting GNOME 49 must not call maximize or unmaximize with Meta.MaximizeFlags

This extension explicitly targets GNOME Shell 49 but still passes `Meta.MaximizeFlags` to `maximize()` or `unmaximize()`.

Meta.Window

  • extension.js:728
    window.maximize(Meta.MaximizeFlags.BOTH)
  • extension.js:731
    window.unmaximize(Meta.MaximizeFlags.BOTH)
  • extension.js:753
    window.unmaximize(Meta.MaximizeFlags.BOTH)
  • extension.js:775
    window.unmaximize(Meta.MaximizeFlags.BOTH)

EGO-C49-004 error

extensions targeting GNOME 49 must not call Meta.Window.get_maximized

This extension explicitly targets GNOME Shell 49 but still calls removed `Meta.Window.get_maximized()`.

Meta.Window

  • extension.js:274
    window.get_maximized()

EGO-P-006 warning

unnecessary build and translation artifacts should not be shipped

Package contains files that often should not be shipped for review.

Don't include unnecessary files

  • po/pl.po
    po/pl.po

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:37
            this._entry = new St.Entry({
                hint_text: _('e.g. Work, Project...'),
                can_focus: true,
                style: 'padding: 6px;',
            })

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:37
            this._entry = new St.Entry({
                hint_text: _('e.g. Work, Project...'),
                can_focus: true,
                style: 'padding: 6px;',
            })

All Versions

Previous Reviews on this Version

loginone auto- rejected
Auto-rejected because of new version 5 was uploaded