Review of "Tiler" version 1

Details Page Preview

Custom tiling extension


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 5

Shexli found 7 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

  • borderManager.js:112
    window.get_maximized()
  • borderManager.js:251
    focused.get_maximized()
  • keybindings.js:159
    window.get_maximized()
  • resizeManager.js:59
    window.get_maximized()
  • windowTracker.js:164
    window.get_maximized()
  • windowTracker.js:216
    window.get_maximized()
  • windowTracker.js:227
    window.get_maximized()
  • windowTracker.js:230
    window.get_maximized()
  • windowTracker.js:300
    window.get_maximized()
  • windowTracker.js:397
    window.get_maximized()
  • windowTracker.js:466
    window.get_maximized()
  • windowTracker.js:502
    window.get_maximized()
  • windowTracker.js:507
    window.get_maximized()
  • windowTracker.js:528
    window.get_maximized()

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

  • resizeManager.js:64
    console.log(`[Tiler] resize mode: entered for "${window.get_title()}"`)
  • resizeManager.js:71
    console.log(`[Tiler] resize mode: exited`)
  • resizeManager.js:189
    console.log(`[Tiler] findResizeEdge: no parent found for direction=${direction}`)
  • resizeManager.js:205
    console.log(`[Tiler] findResizeEdge: nodeInParent not found, going up`)
  • resizeManager.js:214
    console.log(`[Tiler] findResizeEdge: direction=${direction} idx=${idx} neighbourIdx=${neighbourIdx} visibleCount=${visibleChildren.length}`)
  • resizeManager.js:217
    console.log(`[Tiler] findResizeEdge: found neighbour targetRatio=${nodeInParent.ratio} neighbourRatio=${visibleChildren[neighbourIdx].ratio}`)
  • resizeManager.js:229
    console.log(`[Tiler] findResizeEdge: exhausted tree for direction=${direction}`)

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

  • windowTracker.js:242
    window.unmaximize(Meta.MaximizeFlags.BOTH)

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-007 warning

JavaScript files should be reachable from extension.js or prefs.js

Some JavaScript files are not reachable from `extension.js` or `prefs.js` imports.

Don't include unnecessary files

  • test-layout.js
  • test-tree.js

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:27
            this._tracker.connect('window-added', (_, window) => {
                console.log(`[Tiler] extension: window-added "${window.get_title()}" → addTiledBorder`);
                this._borderManager.addTiledBorder(window);
            })
  • extension.js:45
            this._tracker.connect('window-float-maximized', (_, window) => {
                this._borderManager.removeBorder(window);
            })
  • extension.js:48
            this._tracker.connect('window-float-restored', (_, window) => {
                this._borderManager.setFloatingBorder(window);
            })
  • extension.js:36
            this._tracker.connect('window-floating', (_, window) => {
                console.log(`[Tiler] extension: window-floating "${window.get_title()}" → setFloatingBorder`);
                this._borderManager.setFloatingBorder(window);
            })
  • extension.js:31
            this._tracker.connect('window-removed', (_, window) => {
                console.log(`[Tiler] extension: window-removed "${window.get_title()}" → removeBorder`);
                this._borderManager.removeBorder(window);
            })
  • extension.js:41
            this._tracker.connect('window-unfloating', (_, window) => {
                this._borderManager.setTiledBorder(window);
            })

EGO-M-005 warning

metadata session-modes must be omitted when only user mode is declared

Field `session-modes` should be omitted when it only contains `user`.

metadata.json must be well-formed

  • metadata.json
    session-modes=['user']

All Versions

Version Status
1 Unreviewed