Display a window list at the bottom of the screen. Optional features: - Window List itself - Bottom Overview: overview appears when hovering the bottom of any monitor - Panel Free: hide top panel except in overview - Light Style: switch default to light style Based on Window List and Light Style (official GNOME extensions, @fmuellner) and on the Bottom Overview and Panel Free extensions (@fthx). These extensions were written by hand, tested by hand, then hardened and integrated with the help of Claude Code.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
EGO-P-006 warning
unnecessary build and translation artifacts should not be shipped
Compiled GSettings schemas should not be shipped for 45+ packages.
Don't include unnecessary files
schemas/gschemas.compiled
schemas/gschemas.compiled
EGO-L-002 warning
objects created by extension should be destroyed in disable()
Objects assigned in `enable()` are missing matching `.destroy()` calls in `disable()` or its helper methods.
extension.js:351
this._button = new St.Button({
style_class: 'window-button',
can_focus: true,
x_expand: true,
button_mask: St.ButtonMask.PRIMARY | St.ButtonMask.SECONDARY,
})
extension.js:384
this._contextMenuManager = new PopupMenu.PopupMenuManager(this)
extension.js:649
this._menu = new ButtonMenu(this)
extension.js:648
this._menuManager = new PopupMenu.PopupMenuManager(this)
EGO-L-005 warning
owned object references should be released in disable()
Owned references that are cleaned up in `disable()` should also be released with `null` or `undefined`.
extension.js:351
this._button = new St.Button({
style_class: 'window-button',
can_focus: true,
x_expand: true,
button_mask: St.ButtonMask.PRIMARY | St.ButtonMask.SECONDARY,
})
extension.js:384
this._contextMenuManager = new PopupMenu.PopupMenuManager(this)
extension.js:649
this._menu = new ButtonMenu(this)
extension.js:648
this._menuManager = new PopupMenu.PopupMenuManager(this)
extension.js:655
this._windowTracker = Shell.WindowTracker.get_default()
extension.js:1451
this._settings = extension.getSettings()
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:372
this._button.connect('clicked', this._onClicked.bind(this))
extension.js:359
this._button.connect('notify::hover', () => {
if (this._button.hover)
this.showLabel();
else
this.hideLabel();
})
extension.js:374
this._button.connect('popup-menu', () => this._onPopupMenu())
extension.js:404
this._draggable.connect('drag-begin', () => this.emit('drag-begin'))
extension.js:405
this._draggable.connect('drag-cancelled', () => {
this._draggable._dragActor?.setTargetWidth(this.width);
this.emit('drag-end');
})
extension.js:409
this._draggable.connect('drag-end', () => this.emit('drag-end'))
extension.js:650
this._menu.connect('activate', this._onMenuActivate.bind(this))
workspaceIndicator.js:450
this._entry.clutter_text.connect('activate',
() => this._stopEditing())
| Version | Status |
|---|---|
| 51.3 (6) | Active |
| 51.2 (5) | Rejected |
| 51.2 (4) | Rejected |
| 51.1 (3) | Rejected |
| 51.0 (2) | Rejected |
| 51.0 (1) | Rejected |