Review of "ClipMaster" version 7

Details Page Preview

ClipMaster is a powerful, privacy-first clipboard manager built for GNOME. It silently captures everything you copy – text, images, files, URLs – and keeps them encrypted on your machine. When you need something back, just press Shift+Super+V and a popup appears right where your cursor is. Start typing to search through thousands of items instantly. With multi-monitor support, import/export capabilities, and 10+ beautiful themes, ClipMaster is designed for how you actually work. NEW UPDATE v1.3; Pinned Lists - Pin unlimited lists to the filter bar for quick access Tooltips - Hover tooltips on all header buttons (Plain Text, Pin, Add List, Close) Code Category - New filter that detects programming languages (Bash, Python, JavaScript, Rust, Go, SQL, etc.) and HTML content Image Thumbnails - Images now display inline thumbnails directly in the popup window Default Shortcut - Changed default toggle shortcut to Shift+Super+V to avoid conflicts Bug Fixes: Fixed light theme hover text visibility (text now properly dark on hover) Fixed search placeholder visibility in light themes Improved timeout management (cleanup before creating new timeouts) Features: Clipboard history for text, images, files, and URLs Popup appears at your cursor position – no hunting around Multi-monitor support – works wherever you're focused Import-Export -- export your clipboard history for backup or migration Encrypted local storage – your data never leaves your machine Instant search – press Super+V and type to find anything Favorites – pin important items for quick access Custom lists to organize your clips 10+ themes: Catppuccin, Dracula, Nord, Gruvbox, and more Automatically follows your system's dark/light preference Quick paste shortcuts – press 1-9 to paste instantly Pin the popup to keep it open while you work Plain text mode – paste without formatting Keyboard-first design for power users Works seamlessly on both Wayland and X11 Stores up to 5000 items in history Supports GNOME Shell 45, 46, 47, 48, and 49

Extension Homepage
https://github.com/sfnemis/ClipMaster

No comments.

Diff Against

Files

Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.

All Versions

Version Status
1.3.1 (15) Active
1.3 (14) Inactive
1.3 (13) Rejected
1.2.2 (12) Inactive
1.2.2 (11) Inactive
1.2.2 (10) Rejected
1.2.1 (9) Rejected
8 Rejected
7 Rejected
6 Rejected
5 Rejected
4 Rejected
3 Rejected
2 Rejected
1 Rejected

Previous Reviews on this Version

JustPerfection rejected
1. Please remove `schemas/gschemas.compiled`. Not needed for 45+ packages. 2. Move `assets/stylesheet.css` to the root folder of the extension. 3. Remove line 154-173 `extension.js`. Not needed. 4. You are using many try-catch wrappers while the code inside won't throw. Please remove all of the unnecessary try-catch wrappers. 5. That can be faulty if you don't send any value for `id` and the timeout never gets removed (line 77 `src/Util/Utils.js`). 6. Please use aysnc for reading file content since you are in shell process: - line 84 `src/Util/Utils.js` - line 412, 515, 694, 735 `src/Manager/ClipboardMonitor.js` [Gio.File.load_contents_async](https://gjs-docs.gnome.org/gio20~2.0/gio.file#method-load_contents_async) 7. Use `console.*` instead of `log()`. Logs should be only available on debug mode. For debug use `console.debug()` instead of `console.log()`: [Port Guide 45: Logging](https://gjs.guide/extensions/upgrading/gnome-shell-45.html#logging) 8. What's the reason for checking with `isDestroyed`? The instance is should be fully destroyed after you destroy it and don't access it anymore. 9. What's the reason for spawn command (line 477-483, 837 `src/Manager/ClipboardMonitor.js`)? Extensions shouldn't use spawn command for clipboard. 10. You should never expose the user's clipboard to the log (line 233-234, 267-268 `src/Manager/ClipboardMonitor.js`). 11. Avoid making the default class you are exporting in `extension.js` and `prefs.js` large. Those classes 12. Remove line 358-367 `extension.js`. You have `this.openPreferences()` and shouldn't use spawn command to open the prefs. 13. Timeout should be removed on destroy and before creating a new one (line 998, 1006 `extension.js`): [EGO Review Guidelines: Timeout](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#remove-main-loop-sources) 14. Avoid sending large diff package. It takes so much time to review and it is really hard to review. If you need any help with your extension you can ask us on: - [GNOME Extensions Matrix Channel](https://matrix.to/#/#extensions:gnome.org) - IRC Bridge: irc://irc.gimpnet.org/shell-extensions