Review of "Mantel" version 1.0 (1)

Details Page Preview

Numbered workspaces in the top bar, a top bar that gets out of the way, and windows tiled as they open. Use any of them, or all three. WORKSPACE NUMBERS See which workspace you are on at a glance, instead of counting dots. • Click a number to switch to that workspace • Super+1 to Super+0 jumps straight there, and creates the workspace if it does not exist yet • The workspace switcher popup no longer appears, since the top bar already shows where you are AUTO-HIDE THE TOP BAR The bar stays visible while nothing is in its way, and slides away when a window needs the room. Push the pointer against the top edge of the screen to bring it back. It stays put in the overview and while a menu is open. While auto-hide is on, windows use the full height of the screen and the bar floats above them, so nothing resizes when you peek at the clock. AUTO-TILING (off by default) Windows are laid out as they open, in the style of Hyprland's dwindle layout: each new window splits the focused one, and closing a window gives its space back. Focus follows the mouse, and keys move focus, swap, resize, float and maximize windows; both can be changed. Small utility apps open floating, and the list can be edited. The layout is kept while the screen is locked. Each feature can be turned off individually in Preferences.

Extension Homepage
https://github.com/jith/mantel

No comments.

FAQ

Files

Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.

Shexli (experimental)

Shexli did not find any issues.

All Versions

Version Status
2.0 (3) Unreviewed
1.1 (2) Active
1.0 (1) Active

Previous Reviews on this Version

JustPerfection active
Approved but: 1. Please use array of `_timeouts` instead of doing that line 191-197 `autohide.js`. That way you only hold the timeout ids inside `this._timeouts` and loop over to removed on disable. 2. I see AI generated code here. Please note, we have a rule for that: - [EGO Review Guidelines: AI](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#extensions-must-not-be-ai-generated) - [Extensions Best Practices Guidelines](https://gjs.guide/extensions/review-guidelines/best-practices.html#submissions-require-maintainership) 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
Sreejith Krishnan posted a review
1. Timeouts Fixed in 1.1. Every GLib source now goes through a helper that records its id in this._timeouts, and disable() removes them in one loop: for (const id of this._timeouts) GLib.source_remove(id); this._timeouts.length = 0; 2. AI - The panel's strut is released for the entire session rather than toggled on each hide, so windows keep full height and nothing reflows when the bar appears. dash-to-dock does the same thing — _trackDock() passes affectsStruts only when the dock is fixed. It has to be re-asserted after unlock and resume, or the work area comes back stale. - The pressure barrier is armed only in the HIDDEN state, because a live barrier under an open bar traps the pointer at the edge, and it is torn down entirely in fullscreen for the reason dash-to-dock documents. Since the barrier is destroyed each time it fires, _reset() and _isTriggered have to be cleared by hand or it never fires again. - There is deliberately no switch-workspace listener. It fires before the incoming workspace's actors are mapped, so a check there sees an empty workspace, shows the bar, then hides it again. restacked covers the same case at a settled moment.