Plaid brings tiling to GNOME Shell: dwindle, master-stack and centered master-stack layouts, a floating layout, configurable gaps, animated gradient borders, rounded corners, window blur, remappable keybindings, float rules, a scratchpad, drop-down terminal, and mouse resize/swap.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
| Version | Status |
|---|---|
| v51.26 (4) | Unreviewed |
| v51.25 (3) | Rejected |
| 2 | Rejected |
| 1 | Rejected |
1. Please remove unnecessary try catch wrappers. Don't use them when nothing throws. [Extension Best Practices Guidelines: Unnecessary try-catch](https://gjs.guide/extensions/review-guidelines/best-practices.html#avoid-unnecessary-try-catch-wrappers) 2. Don't use `this.` when you aren't in a class (for example, line 45 `modules/background-app.js`). You're doing this everywhere and the functions need to be moved inside a class. I understand you are returning an object at the end of each module, but that code style won't be obvious to reviewers when they're only looking at the diff in the future. 3. Use `console.*` instead of `log()`. Logs should be only available on debug mode. For debug use `console.debug()` instead of `console.log()`: [Port Guide 45: Logging](https://gjs.guide/extensions/upgrading/gnome-shell-45.html#logging) 4. Please use `connectObject()` and `disconnectObject()` so it is easier to track for cleanup. Any signal connection should be disconnected on disable/destroy. You are not doing that in some instances. For example, line 251 `modules/workspaces.js` 5. Timeout should be removed on destroy: - line 50, 257 `modules/dropdown-terminal.js` - line 31 `modules/persistence.js` - line 181, 767 `modules/placement.js` - line 236, 435 `modules/signals.js` - line 105, 180 `modules/workspaces.js` [EGO Review Guidelines: Timeout](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#remove-main-loop-sources) 6. Where do you call the function on destroy/disable (line 35 `modules/pointer-focus.js`)? 7. Remove version from the import (line 3-4 `prefs.js`). 8. Starting a function name with `_` indicates it is private, so it shouldn't be exported. If a function intended to be private, use `#` instead. 9. Selective disable/destroy isn't allowed: - line 285 `modules/lifecycle.js` - line 354 `modules/windows.js` 10. Instead of using different function names for cleanup, use `destroy()`, which is standard in GJS. That way, it's clear which function handles cleanup and when it gets called.