Review of "WinTile" version 8

Details Page Preview

WinTile is a hotkey driven window tiling system for GNOME that imitates the standard Win-Arrow keys of Windows 10, allowing you to maximize, maximize to sides, or 1/4 sized to corner across a single or multiple monitors using just Super+Arrow. As of v14, WinTile also supports: - 2-5 columns and 1-4 rows for standard or ultrawide monitors - Top/bottom half support - Mouse preview and snapping for placing windows - 'Maximize' mode, which adds/removes GNOME animations - 'Ultrawide-only' mode, to allow standard screens to have different cols/row than ultrawides - Portrait screens will automatically swap columns and rows - Add gaps around tiles to avoid the 'crowded elevator' feeling' - Ctrl+Super+Arrow to grow a tile in that direction if space is available - Ctrl+drag to drop a tile in a specific spot - Ctrl+Super+drag to draw a grid for the new tile

Extension Homepage
https://github.com/fmstrat/wintile

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

Version Status
15 Active
14 Active
13 Active
12 Active
11 Rejected
10 Rejected
9 Rejected
8 Rejected
7 Active
6 Active
5 Active
4 Active
3 Inactive
2 Active
1 Rejected

Previous Reviews on this Version

JustPerfection rejected
1. You cannot create objects in global scope which is the same as init: - line 43-52 extension.js - line 16-24 prefs.js https://gjs.guide/extensions/review-guidelines/review-guidelines.html#only-use-init-for-initialization 2. That's too much for global scope: - line 66 extension.js - line 69 extension.js - line 726-730 extension.js https://gjs.guide/extensions/review-guidelines/review-guidelines.html#only-use-init-for-initialization 3. Remove timeout on disable (line 643, 651, 674, 694, 859, 898 extension.js): https://gjs.guide/extensions/review-guidelines/review-guidelines.html#remove-main-loop-sources 4. `Tweener` is a deprecated module. Please remove it for the next version. You can use `ease()` instead. For example: ```js widget.ease({ x: newX, y: 10, opacity: 100, duration: 2000, mode: Clutter.AnimationMode.EASE_OUT_BOUNCE, onComplete: () => { log('Animation is finished'); } }); ``` 5. Remove line 926 (extension.js) if condition. You should disconnect those signals without being dependent on other condition. Also null out those signal id holders in disable (`onWindowGrabBegin` and `onWindowGrabEnd`). 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