Review of "Smart Auto Move NG" version 50.8 (54)

Details Page Preview

Smart Auto Move NG learns the position, size, and workspace of your application windows and restores them on subsequent launches. Supports Wayland. Dynamic workspaces are supported for GNOME 48 and later. For more control, set the default behavior to IGNORE and then selectively RESTORE only desired apps. Forked from https://github.com/khimaros/smart-auto-move

Extension Homepage
https://github.com/ChrisLauinger77/gnome-shell-extension-SmartAutoMoveNG

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 1 warning 3

Shexli found 4 issues that may need reviewer attention.

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:350
    win.get_maximized()

EGO033 warning

preferences classes should not retain window-scoped objects on instance fields without close-request cleanup

Preferences code stores window-scoped objects on the exported prefs class without `close-request` cleanup.

Destroy all objects

  • prefs.js:408
            this.changedOverridesSignal = settings.connect("changed::" + Common.SETTINGS_KEY_OVERRIDES, () => {
                this._loadOverridesSetting(settings, overrides_list_widget, overrides_list_objects, list_rows);
            })
  • prefs.js:350
            this.changedSavedWindowsSignal = settings.connect("changed::" + Common.SETTINGS_KEY_SAVED_WINDOWS, () => {
                this._loadSavedWindowsSetting(
                    settings,
                    saved_windows_list_widget,
                    saved_windows_list_objects,
                    list_rows,
      

EGO016 warning

main loop sources should be removed in disable()

Main loop sources assigned in `enable()` are missing matching removals in `disable()` or its helper methods.

Remove main loop sources

  • prefs.js:319
            GLib.timeout_add_seconds(GLib.PRIORITY_DEFAULT, 3, () => {
                adwrowSaveButton.set_title(_("Save Preferences"));
                adwrowSaveButton.set_sensitive(true);
                return GLib.SOURCE_REMOVE;
            })

EGO015 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

  • prefs.js:66
                this.cancelBtn.connect("clicked", () => {
                    this.close();
                })
  • prefs.js:63
                searchEntry.connect("search-changed", () => {
                    this.listBox.invalidate_filter();
                })
  • prefs.js:105
                cancelBtn.connect("clicked", () => {
                    this.close();
                })
  • prefs.js:109
                saveBtn.connect("clicked", () => {
                    if (this._onSave) {
                        this._onSave(this._collectEditedWindowData());
                    }
                    this.close();
                })

All Versions

Version Status
50.11 (59) Active
50.11 (58) Rejected
50.11 (57) Rejected
50.10 (56) Active
50.9 (55) Inactive
50.8 (54) Inactive
50.7 (53) Inactive
50.7 (52) Rejected
50.7 (51) Rejected
50.7 (50) Rejected
50.6 (49) Inactive
50.5 (48) Inactive
50.4 (47) Inactive
50.4 (46) Inactive
50.3 (45) Inactive
50.3 (44) Rejected
50.3 (43) Rejected
50.3 (42) Rejected
50.2 (41) Inactive
50.1 (40) Inactive
50.0 (39) Inactive
49.15 (38) Inactive
49.15 (37) Rejected
49.14 (36) Inactive
49.13 (35) Inactive
49.13 (34) Inactive
49.12 (33) Inactive
49.11 (32) Inactive
49.10 (31) Inactive
49.9 (30) Inactive
49.8 (29) Inactive
49.7 (28) Inactive
49.6 (27) Inactive
49.5 (26) Inactive
49.4 (25) Inactive
49.4 (24) Inactive
49.3 (23) Inactive
49.2 (22) Inactive
49.1 (21) Inactive
49.1 (20) Inactive
49.0 (19) Inactive
48.10 (18) Inactive
48.9 (17) Inactive
48.8 (16) Inactive
48.8 (15) Inactive
48.7 (14) Active
48.6 (13) Inactive
48.6 (12) Inactive
48.5 (11) Inactive
48.4 (10) Inactive
48.3 (9) Inactive
46.1 (8) Active
48.2 (7) Inactive
46.0 (6) Inactive
48.1 (5) Inactive
46.0 (4) Inactive
48.1 (3) Inactive
46.0 (2) Inactive
48.0 (1) Inactive

Previous Reviews on this Version

dlandau waiting for author
Please check the shexli messages
Chris posted a review
I have a version check in line 350: maximized: this._isGnome49OrHigher ? win.is_maximized() : win.get_maximized(), And in prefs.js there is no disable() those are only applicable in extension.js
Chris posted a review
Checked the shexli messages - they are wrong - how to change the state from "Waiting for author" to something else ?
Chris posted a review
https://gitlab.gnome.org/Infrastructure/extensions-web/-/issues/367 here is the false detect also reported
dlandau active
Sorry for the delay
Chris posted a review
No worries