Review of "O-tiling" version 1

Details Page Preview

Auto-tiling engine for GNOME Shell with the 'Aura' focus border.

Extension Homepage
https://github.com/oliwebd/o-tiling

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

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

  • system/config.js:240
    file.value.load_contents(null)
  • utils/utils.js:159
    GLib.file_get_contents('/etc/os-release')
  • utils/utils.js:37
    file.load_contents(null)

EGO-X-002 warning

extensions should not use synchronous subprocess APIs in shell code

Shell code should avoid synchronous subprocess APIs like `GLib.spawn_command_line_sync()` and `GLib.spawn_sync()`.

Complete Examples

  • system/xprop.js:150
    GLib.spawn_sync(null, argv, null, GLib.SpawnFlags.SEARCH_PATH, null)

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

  • context.js
  • system/shell.js
  • ui/color_dialog/main.js
  • ui/floating_exceptions/main.js
  • ui/shortcut_overlay.js

EGO-L-004 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

  • extension.js:2046
                    GLib.timeout_add(GLib.PRIORITY_DEFAULT, 800, () => {
                        if (this.suspended || !this.auto_tiler)
                            return GLib.SOURCE_REMOVE;
                        for (const window of this.windows.values()) {
                            if (window.is_tilable(this) &&
  • extension.js:572
            GLib.timeout_add(GLib.PRIORITY_LOW, 500, () => {
                this.exception_selecting = true;
                overview.show();
                return false;
            })

All Versions

Version Status
1 Unreviewed