Review of "ShellTile" version 66

Details Page Preview

A tiling window extension for GNOME Shell. Just move a window to the edges of the screen to create a tiling, otherwise move a window over another one, holding down the Control key. Grouped windows minimize, resize, raise and change workspace together. Move or maximize a window to remove it from the group.

Extension Homepage
https://github.com/emasab/shelltile

No comments.

Diff Against

Files

Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.

All Versions

Previous Reviews on this Version

emasab posted a review
- Wayland compatibility - GNOME 3.38 compatibility (overview)
JustPerfection rejected
1. What's the reason for line 679-681 extension.js? 2. You cannot create objects in the constructor of the class that `init()` returns (line 28-30, 42, 45 extension.js): https://gjs.guide/extensions/review-guidelines/review-guidelines.html#only-use-init-for-initialization 3. What's the reason for try catch blocks in enable and disable (line 266-312, 660-669 extension.js)? 4. You should remove the timeouts (also `idle_add`) in disable: https://gjs.guide/extensions/review-guidelines/review-guidelines.html#remove-main-loop-sources - line 158, 358, 384 and 575 extension.js - line 825, 959, tiling.js - line 157 window.js 5. Remove `package-lock.json` and `package.json`: https://gjs.guide/extensions/review-guidelines/review-guidelines.html#don-t-include-unnecessary-files 6. You cannot create objects in the global scope which is the same as init (line 54 util.js). 7. Don't create gsettings object in `init()` (prefs.js line 18). Make it local in `buildPrefsWidget` and pass it as dependency injection. 8. Multi versioning is supported here, so you can remove versions older than 3.36 if you want. That makes your job much easier for the future updates. 9. Lang is a deprecated module. Please remove it for the next version (supported on 3.32 and higher): https://gjs.guide/extensions/review-guidelines/review-guidelines.html#general-advice Learn how to remove Lang from your code: https://gjs.guide/guides/gjs/legacy-class-syntax.html 10. Use initTranslations() and getSettings() from ExtensionUtils instead of creating your own custom functions (supported on 3.32 and higher): https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/misc/extensionUtils.js If you need any help with your extension you can ask us on: - [GNOME Matrix Channel](https://matrix.to/#/#extensions:gnome.org) - IRC Bridge: irc://irc.gimpnet.org/shell-extensions