Integration for ClusterCut Clipboard Sync. Adds a Quick Settings toggle and reads/writes the system clipboard to enable clipboard sync on Wayland.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
| Version | Status |
|---|---|
| 2.0 (4) | Unreviewed |
| 1.1 (3) | Rejected |
| 1.0 (2) | Active |
| 1.0 (1) | Rejected |
1. Please remove the `.png` file. Not needed. 2. You cannot import `Gtk` and `Gdk` to the GNOME Shell process (line 4-5 `extension.js`): [EGO Review Guidelines: import](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#do-not-import-gtk-libraries-in-gnome-shell) 3. Move line 32 to the `ClusterCutIndicator` class: [EGO Review Guidelines: Initialization](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#only-use-initialization-for-static-resources) 4. Avoid create deep blocks. Something like line 102 `extension.js` not really needed to be a block: ```js if (!this._proxy) { return; } ``` 5. Code duplication (line 107-126 `extension.js`). 6. You can simply use subprocess (line 178-188 `extension.js`). but I highly recommend to remove `_tryLaunchApp()` function and let the user be responsible for launching the service. After all, user knows what this is extension using and you are using d-bus for a good reason (not using any subprocess in GNOME Shell process). 7. Use `super.destroy()` instead (line 272 `extension.js`). 8. Remove line 278-296, 309-326 `extension.js`. 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
1. Please remove the `.png` file. Not needed. Removed `.png` file. 2. You cannot import `Gtk` and `Gdk` to the GNOME Shell process (line 4-5 `extension.js`): [EGO Review Guidelines: import](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#do-not-import-gtk-libraries-in-gnome-shell) Removed direct `Gtk` and `Gdk` imports. 3. Move line 32 to the `ClusterCutIndicator` class: [EGO Review Guidelines: Initialization](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#only-use-initialization-for-static-resources) Moved `ClusterCutProxy` initialization logic to `ClusterCutIndicator` class. 4. Avoid create deep blocks. Something like line 102 `extension.js` not really needed to be a block: ```js if (!this._proxy) { return; } ``` Simplified nested blocks and removed deep guards. 5. Code duplication (line 107-126 `extension.js`). Refactored duplicated state toggling logic. 6. You can simply use subprocess (line 178-188 `extension.js`). but I highly recommend to remove `_tryLaunchApp()` function and let the user be responsible for launching the service. After all, user knows what this is extension using and you are using d-bus for a good reason (not using any subprocess in GNOME Shell process). Removed `_tryLaunchApp()` and `subprocess` logic; extension now gracefully handles app not running state. 7. Use `super.destroy()` instead (line 272 `extension.js`). Fixed `destroy()` implementation to call `super.destroy()`. 8. Remove line 278-296, 309-326 `extension.js`. Cleaned up unused code blocks. Thank you for all the fantastic review work you do!