Review of "Workspaces indicator by open apps" version 25

Details Page Preview

Display a simple workspace indicator showing icons of apps open in it. Features and Customization: - Show a simple indicator to display workspaces and the apps open in them - Support for drag and drop: move an application to another workspace by dragging its icon - Right- or left-click to focus or minimize an application; middle-click to close it - Workspaces scrolling: change the active workspace by scrolling over the indicator - Support for multiple monitors (for both static and dynamic workspaces) - Rename workspaces directly from the extension (enable in settings) - Hide or show the GNOME default workspace indicator (formerly the Activities button) - Customize indicator position, size, color, and background - Customize which elements are shown (indicator, empty workspaces, etc.) - Icon style and saturation - Show or hide window titles alongside icons - Limit and group icons per workspace - Ignore applications (using regular expressions) - and many more in extension preferences

Extension Homepage
https://github.com/Favo02/workspaces-by-open-apps

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-X-006 warning

extensions should not use lookupByURL or lookupByUUID for current extension access

Use `this`, `this.getSettings()` or `this.path` instead of `lookupByURL()` or `lookupByUUID()` for the current extension.

`extensionUtils`

  • prefs.js:1197
    ExtensionPreferences.lookupByUUID(
            "workspaces-by-open-apps@favo02.github.com",
          )

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-006 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:37
          this._globalDebounceTimeout = setTimeout(() => {
            // apply all pending updates
            this._pendingUpdates.forEach((update, key) => {
              try {
                update.func(...update.args)
              } catch (error) {
                console.error(`Failed to apply setting update for "${key

All Versions

Version Status
27 Active
26 Active
25 Active
24 Active
23 Active
22 Active
21 Active
20 Active
19 Active
18 Active
17 Rejected
16 Active
15 Active
14 Active
13 Active
12 Active
11 Inactive
10 Active
9 Inactive
8 Active
7 Active
6 Active
5 Active
4 Active
3 Active
2 Active
1 Rejected

Previous Reviews on this Version

fmuellner active
You should remove the gschemas.compiled file, see the shexli warnings.