Security-first clipboard history for text and images. This extension reads and writes the clipboard to keep a history of copied items. Text is memory-only; images use a session-only 0600 disk cache wiped on logout. Honors password-manager secret hints, masks sensitive entries, with search, regex/app exclusion rules, auto-expire and a keyboard shortcut.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
EGO-X-004 warning
extensions should avoid synchronous file IO in shell code
Shell code should avoid synchronous file IO APIs like `GLib.file_get_contents()` and `Gio.File.load_contents()`.
extension.js:376
Gio.File.new_for_path(path).load_contents(null)
EGO-A-005 manual_review
extensions should not access the clipboard directly
Direct clipboard access via `St.Clipboard.get_default()` requires reviewer scrutiny.
extension.js:271
St.Clipboard.get_default()
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:108
this.menu.connect('open-state-changed', (_m, open) => {
if (open) {
this._searchEntry.set_text('');
global.stage.set_key_focus(this._searchEntry.clutter_text);
} else {
this._searchText = '';
}
})
EGO-M-008 warning
extensions using unlock-dialog must document it in disable() comments
Extensions using `unlock-dialog` should document the reason in `disable()` comments.
extension.js:291
disable() {
if (this._ownerChangedId) {
this._selection.disconnect(this._ownerChangedId);
this._ownerChangedId = null;
}
if (this._sessionId) {
Main.sessionMode.disconnect(this._sessionId);
this._sessionId = null;
}
| Version | Status |
|---|---|
| 1.0 (3) | Unreviewed |
| 1.0 (2) | Rejected |
| 1.0 (1) | Rejected |