An extension for Gnome Shell that enhances the user experience for devices with a touchscreen – primarily focused (and tested) on tablets. Current Features: - A system navigation bar (gesture or button mode) - Touch gestures for system notifications (dismiss, expand, …) - Make the system notification area touch-scrollable - Onscreen-Keyboard popups - A floating screen rotate button when auto-rotate is disabled Each of these features can be enabled/disabled individually and most can be further customized in the extension settings. A lot of additional features are planned – you can have a look at the repository for details on that. If you find bugs, have new ideas or would like to contribute, please open an issue on github so we can chat.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
| Version | Status |
|---|---|
| 1 | Rejected |
1. Please don't use GNOME in uuid, name and schema id: [EGO Review Guidelines: Trademarks](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#copyrights-and-trademarks) 2. Timeout should be removed on destroy or stop (line 549 `extension.js`): [EGO Review Guidelines: Timeout](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#remove-main-loop-sources) 3. Please give me the stack trace for calling `uninitSettings()` (line 2688 `extension.js`). 4. Add new lines between function names to make it more readable for the review process. It would be much better if you don't merge all of the modules into one file. If you need any help with your extension you can ask us on: - [GNOME Extensions Matrix Channel](https://matrix.to/#/#extensions:gnome.org) - IRC Bridge: irc://irc.gimpnet.org/shell-extensions
Hi, thanks for the review. 1. ✅ - Rebranded the extension to "TouchUp" 2. ✅ - Timeout mainloop source id is now stored and it is removed in `IntervalRunner.stop()` 3. The stack trace is: TouchUpExtensions.disable() -> this.pm.destroy() -> uninitSettings() The `uninitSettings` method is registered to be called upon `PatchManager` destruction/extension disabling in extension.js, line 37 (referring to the new version I just uploaded): // Initialize settings: this.pm.patch(() => { initSettings(this.getSettings()); return () => uninitSettings(); // <-- here }, 'init-settings'); 4. ✅ - Individual files, the directory structure and comments in the code are now preserved for better readability. I was unable to add blank lines before methods without very significant effort though (I have little experience with rollup), but I think readability is way better now anyways. If you still need blank lines, please reach out to me again, then I'll try even harder to find a way :)