Review of "WinTile" version 17

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. WinTile also supports: - 1-5 columns and 1-5 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://nowsci.com/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
20 Active
19 Active
18 Rejected
17 Rejected
16 Rejected
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 shouldn't create another gsettings instance in line 1191-1195 to disconnect. The instances you created in the enable should be used in disable as well. Also they should get nulled out in disable. 2. What's the reason for using `Gio.Settings` in line 1209? You already have it in `gsettings` (line 1170 `extension.js`). 3. This one also has the unnecessary comments as mentioned in the version 18 review. The best practice for multi versioning package is to create different branches in your repo.
Fmstrat posted a review
@JustPerfection: For #3, the comment method is my workflow, unique branches will cause greater effort in the CI/CD process, and it's a method I have seen in may other extensions. The keybinding file for instance is used elsewhere. Is there a reason this is getting rejected as an extension for code specifics vs broken functionality? I didn't think there were specific guidelines for code structuring extensions, but happy to follow it if there are policies documented somewhere. As for 1 & 2, will address those and resubmit, thank you for catching them.
Fmstrat posted a review
Actually for #2 I don't follow the question. Line 1170 gets settings for the current extension, while line 1209 checks if the default Ubuntu tile extension is loaded and what it's settings are.
Fmstrat posted a review
For #3 I can actually update my CI to remove the lines vs comment, so should be able to clean that up pretty easily, thanks.
JustPerfection posted a review
For #2 it's ok then. #3 is just a recommendation but at least remove the unnecessary comments instead of adding `//` for the packages you are sending here.
Fmstrat posted a review
Sounds great, thanks, will submit a new version shortly.
Fmstrat posted a review
Just to be sure on #1, the variables mentioned are local inside `enable` and `disable`. Is the requirement to make them global variables? (That's what I'm doing now).
JustPerfection posted a review
You can make them global. Also null them in disable.
Fmstrat posted a review
Will do (they're nulled if you expand the diff above, but am putting them in a container object anyway). Thanks again.