Shows a button on the edge of the screen for each minimized window. Click to maximize again. Includes settings that let you customize it: - Position: top, bottom, left and right - Cover behaviour: front, leave space, autohide and autohide always - Button Style - Margins - Show in Overview (or not) - Per Workspace Buttons (or always show all buttons) - Drag-and-Drop behaviour Touch support: With the right settings, the extension is actually becoming quite usable on touch-only devices: - enable drag scroll hack(Settings/Misc.): use button drag movement to control container scroll, since touch scroll is not working on the button-container. - autohide global event hook(Settings/Misc.): for autohide on touch devices. its insanity, but works fine. But only use it for touch AND autohide. - Autohide: set detect container size (Settings/Cover Options). Size 1 works for nicely calibrated touch display, especially with a pen. Adjust size if that is not working for you. - enable snapback (Settings/Misc.): snap back button if dropped outside the buttoncontainer. lets not have windows open on lazy swiping.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
EGO-A-004 warning
extension files should not contain excessive ungated console logging
File contains 6 ungated console.log/warn/error calls (threshold: 5).
lib/CoreLogic.js:158
console.log('[Minimized Windows Buttons] WARNING: watchWindow early return!')
lib/CoreLogic.js:209
console.log('[Minimized Windows Buttons] ERROR: ensureButton called on non-mapped window!')
lib/CoreLogic.js:239
console.log('[Minimized Windows Buttons] WARNING: calling putButtonInPlace with placeholderIndex=-1!')
lib/CoreLogic.js:514
console.log('[Minimized Windows Buttons] WARNING: placeholderButton=null, this is ok only during init!')
lib/CoreLogic.js:322
console.error(e)
lib/CoreLogic.js:323
console.error(e)
EGO-L-003 warning
signals connected by extension should be disconnected in disable()
Signals assigned in `enable()` are missing matching disconnect calls in `disable()` or its helper methods.
extension.js:30
this.#settingsConnector.connect()
EGO-M-004 error
metadata shell-version must only include plausible stable releases and at most one development release
Field `shell-version` contains invalid values, more than one development release, or implausible future releases.
metadata.json must be well-formed
metadata.json
shell-version=['48', '49', '50', '51']
| Version | Status |
|---|---|
| 12 | Rejected |
| 11 | Active |
| 10 | Active |
| 9 | Active |
| 8 | Active |
| 7 | Rejected |
| 6 | Rejected |
| 5 | Active |
| 4 | Rejected |
| 3 | Active |
| 2 | Active |
| 1 | Rejected |
- Ready for Gnome 51, tested on Fedora 45 beta. Am I too early? - Changed hooks from connect() to connectObject, much cleaner this way - i dont think, the logging is excessive. Placeholderbutton=null pops up at init, if there is other logging, there really is a problem. But should i remove as much as possible? - this.#settingsConnector.connect(): shexli doesnt like my naming, it has nothing to do with whats in that function.
Timeout should be removed on destroy and before creating a new one (line 191, 229, 277 `extension.js`): [EGO Review Guidelines: Timeout](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#remove-main-loop-sources)