A customizable GNOME Shell extension that enhances the user experience with various modules and features. The optional Clipboard History module reads and stores clipboard text locally so it can be browsed and restored; no clipboard data is shared with third parties, and its open shortcut is unset by default.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
EGO-A-005 manual_review
extensions should not access the clipboard directly
Direct clipboard access via `St.Clipboard.get_default()` requires reviewer scrutiny.
modules/clipboardHistory/clipboardHistory.js:120
St.Clipboard.get_default()
modules/clipboardHistory/clipboardMonitor.js:39
St.Clipboard.get_default()
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.
modules/trayIcons/trayIconItem.js:74
this._localMenuManager = new PopupMenu.PopupMenuManager(this)
modules/trayIcons/trayIconItem.js:66
this._menuManager = new PopupMenu.PopupMenuManager(this)
| Version | Status |
|---|---|
| 50.6 (24) | Active |
| 50.5 (23) | Rejected |
| 50.4 (22) | Rejected |
| 50.2 (21) | Rejected |
| 50.3 (20) | Rejected |
| 50.2 (19) | Rejected |
| 18 | Rejected |
| 17 | Active |
| 16 | Active |
| 15 | Rejected |
| 14 | Rejected |
| 13 | Rejected |
| 12 | Rejected |
| 11 | Rejected |
| 10 | Active |
| 9 | Rejected |
| 8 | Active |
| 7 | Rejected |
| 6 | Active |
| 5 | Active |
| 4 | Rejected |
| 3 | Rejected |
| 2 | Rejected |
| 1 | Rejected |
Regarding EGO-A-005: This clipboard access is intentional and required for the Clipboard History feature. The module reads clipboard text only to maintain the user-visible clipboard history, and writes text back to the clipboard only when the user explicitly activates a stored history entry. Regarding EGO-L-002: This appears to be a false positive for PopupMenu.PopupMenuManager. GNOME Shell's PopupMenuManager does not expose a destroy() method. The correct cleanup path is to remove the owned menu from the manager with removeMenu(menu), destroy the PopupMenu itself, and release the references. TrayIconItem.destroy() does this for both the DBus-backed menu and the local fallback menu, so the menu actors are destroyed and the manager references are released.