When activating overview (Super button), the application view is shown instead of the view with the windows.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
| Version | Status |
|---|---|
| 13 | Active |
| 12 | Rejected |
| 11 | Active |
| 10 | Inactive |
| 9 | Active |
| 8 | Active |
| 7 | Active |
| 6 | Active |
| 5 | Active |
| 4 | Inactive |
| 3 | Inactive |
| 2 | Inactive |
| 1 | Rejected |
1. Timeout should be removed on disable and also before creating a new one (line 35 `extension.js`): [EGO Review Guidelines: Timeout](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#remove-main-loop-sources) 2. Don't wrap anything in unnecessary try and catch block. 3. `_patched` is unnecessary. Please remove that (line 12, 46, 71, 99, 106 `extension.js`).
// extension.js import { Extension } from 'resource:///org/gnome/shell/extensions/extension.js'; import * as Main from 'resource:///org/gnome/shell/ui/main.js'; import * as Overview from 'resource:///org/gnome/shell/ui/overview.js'; import GLib from 'gi://GLib'; export default class StartOverlayInAppViewExtension extends Extension { constructor(metadata) { super(metadata); this._origToggle = null; this._startupHandlerId = 0; } // Small helper: only touch overview when it's *not* visible or transitioning. _safeShowApps() { const ov = Main.overview; // GNOME 46 has a stable .visible; the underscored ones are internal but useful guards. const visible = !!ov?.visible || !!ov?._visible; const busy = !!ov?._showing || !!ov?._hiding || !!ov?._animationsRunning || !!ov?._inModeChange; if (!ov) return; ov.showApps(); return GLib.SOURCE_REMOVE; } enable() { this._origToggle = Overview.Overview.prototype.toggle; Overview.Overview.prototype.toggle = function () { if (this.isDummy) return; // If already visible, hide as usual; if not, prefer Apps view. if (this._visible) { this.hide(); } else { // If another extension is also poking overview, do it on idle to avoid SHOWING→SHOWING. GLib.idle_add(GLib.PRIORITY_DEFAULT, () => { Main.overview.showApps(); return GLib.SOURCE_REMOVE; }); } } } disable() { // Restore original toggle safely. if (this._origToggle) { Overview.Overview.prototype.toggle = this._origToggle; } // Disconnect startup handler if we set it. if (this._startupHandlerId) { Main.layoutManager.disconnectObject(this); this._startupHandlerId = 0; } } }