A floating circular button that appears near the top edge of non-maximized windows for toggling Always on Top. Supports multiple pinned windows, proximity-based reveal with smooth animations, left or right positioning, persistent visibility for pinned windows, and automatic light or dark theme adaptation.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
EGO015 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:56
this._button.connect('button-press-event', () => {
this._toggleOnTop();
return Clutter.EVENT_STOP;
})
extension.js:67
this._button.connect('enter-event', () => {
if (!this._isShown) return;
this._button.ease({ opacity: 255, duration: 100, mode: Clutter.AnimationMode.LINEAR });
})
extension.js:71
this._button.connect('leave-event', () => {
if (!this._isShown) return;
const pinVis = this._isPinnedVisible();
this._button.ease({ opacity: pinVis ? 160 : 200, duration: 100, mode: Clutter.AnimationMode.LINEAR });
})
extension.js:60
this._button.connect('touch-event', (_actor, event) => {
if (event.type() === Clutter.EventType.TOUCH_BEGIN) {
this._toggleOnTop();
return Clutter.EVENT_STOP;
}
return Clutter.EVENT_PROPAGATE;
})
EGO-C49-004 error
extensions targeting GNOME 49 must not call Meta.Window.get_maximized
This extension explicitly targets GNOME Shell 49 but still calls removed `Meta.Window.get_maximized()`.
extension.js:142
win.get_maximized()
| Version | Status |
|---|---|
| 3 | Unreviewed |
| 2 | Rejected |
| 1 | Rejected |