Review of "O-tiling" version 2.9.4 (11)

Details Page Preview

O-Tiling is a free, open-source auto-tiling extension for GNOME Shell 48, 49, and 50. It automatically organizes your open windows into a clean, tiled layout - no manual dragging.

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

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 2

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

  • ui/theme_consistency/apply.js:14
    GLib.file_get_contents(path)
  • ui/theme_consistency/apply.js:67
    GLib.file_get_contents(path)

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

  • floating_exceptions/config.js
  • floating_exceptions/main.js

All Versions

Version Status
2.9.12 (14) Active
2.9.9 (13) Rejected
2.9.5 (12) Inactive
2.9.4 (11) Rejected
2.9.4 (10) Rejected
2.9.3 (9) Rejected
2.9.1 (8) Rejected
2.9.0 (7) Rejected
2.8.13 (6) Inactive
2.8.11 (5) Rejected
2.5.0 (4) Rejected
2.5.0 (3) Rejected
2 Rejected
1 Rejected

Previous Reviews on this Version

JustPerfection rejected
1. Why are you checking whether the function exists? - line 954 `extension.js` - line 426 `ui/panel_settings.js` 2. Remove 205-211 `floating_exceptions/main.js`. 3. Please use `connectObject()` and `disconnectObject()` so it is easier to track for cleanup. 4. As mentioned before, please avoid unnecessary try-catch wrappers (line 55 `utils/utils.js`). 5. Use version check instead of try-catch (line 180 `utils/utils.js`). 6. I cannot really follow the timeout cleanup (before creating and also on destroy) in `extension.js`. Hold all the timeouts in a property array. Then loop over them on destroy/disable. That way, it can be easily tracked for cleanup.