Windows-style clipboard history. Press Super+V to open a popup next to the pointer, pick an item and it is pasted into the window you were using. - Text and images, newest first; copying something again moves it to the top - Pin items to keep them; after a reboot only pinned items remain, like on Windows - History survives the screen lock - Keyboard: arrows, Enter to paste, Delete to remove, Esc to close - Pastes with Ctrl+Shift+V in terminals - Passwords copied from password managers (KeePassXC, Bitwarden) are not saved - Frees Super+V from the notification list while enabled and gives it back when disabled
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:45
GLib.file_get_contents(path)
extension.js:541
GLib.file_get_contents(item.file)
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:428
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.
extension.js:249
this._list = new St.BoxLayout({style_class: 'cp-list',
orientation: Clutter.Orientation.VERTICAL})
extension.js:237
this._panel = new St.BoxLayout({style_class: 'cp-panel', reactive: true,
orientation: Clutter.Orientation.VERTICAL})
extension.js:251
this._scroll = new St.ScrollView({style_class: 'cp-scroll', x_expand: true, y_expand: true,
hscrollbar_policy: St.PolicyType.NEVER, vscrollbar_policy: St.PolicyType.AUTOMATIC,
child: this._list})
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:232
this._backdrop = new St.Widget({reactive: true, x: 0, y: 0,
width: global.stage.width, height: global.stage.height})
extension.js:249
this._list = new St.BoxLayout({style_class: 'cp-list',
orientation: Clutter.Orientation.VERTICAL})
extension.js:237
this._panel = new St.BoxLayout({style_class: 'cp-panel', reactive: true,
orientation: Clutter.Orientation.VERTICAL})
extension.js:251
this._scroll = new St.ScrollView({style_class: 'cp-scroll', x_expand: true, y_expand: true,
hscrollbar_policy: St.PolicyType.NEVER, vscrollbar_policy: St.PolicyType.AUTOMATIC,
child: this._list})
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:235
this._backdrop.connect('button-press-event', (_a, ev) => this._onBackdropPress(ev))
extension.js:234
this._backdrop.connect('key-press-event', (_a, ev) => this._onKey(ev))
| Version | Status |
|---|---|
| 1.0 (1) | Unreviewed |