Review of "Clipboard Indicator (vipinus fork)" version 1

Details Page Preview

Clipboard manager for GNOME — vipinus fork with GNOME 50 support

Extension Homepage
https://github.com/vipinus/gnome-shell-extension-clipboard-indicator

No comments.

FAQ

Files

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

Shexli (experimental) warning 3 manual_review 1

Shexli found 4 issues that may need reviewer attention.

EGO-A-005 manual_review

extensions should not access the clipboard directly

Direct clipboard access via `St.Clipboard.get_default()` requires reviewer scrutiny.

Review Guidelines

  • extension.js:54
    St.Clipboard.get_default()

EGO-X-003 warning

extensions should not call run_dispose in extension code

Extension code should not call `run_dispose()`.

GObject.Object.run_dispose

  • keyboard.js:19
    this.#device.run_dispose()

EGO-P-006 warning

unnecessary build and translation artifacts should not be shipped

Compiled GSettings schemas should not be shipped for 45+ packages.

Don't include unnecessary files

  • schemas/gschemas.compiled
    schemas/gschemas.compiled

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.

Disconnect all signals

  • extension.js:992
                this._notifSource.connect('destroy', () => {
                    this._notifSource = null;
                })
  • extension.js:311
    this.clearMenuItem.connect('activate', this._removeAll.bind(this))
  • extension.js:571
            menuItem.pasteBtn.connect('clicked',
                () => this.#pasteItem(menuItem)
            )
  • extension.js:510
            menuItem.actor.connect('key-press-event', (actor, event) => {
                switch (event.get_key_symbol()) {
                    case Clutter.KEY_Delete:
                        this.#selectNextMenuItem(menuItem);
                        this._removeEntry(menuItem, 'delete');
                        break;
     
  • extension.js:200
            this.menu.connect('open-state-changed', (self, open) => {
                this._setFocusOnOpenTimeout = setTimeout(() => {
                    if (open) {
                        if (this.clipItemsRadioGroup.length > 0) {
                            this.searchEntry.set_text('');
                            glo
  • extension.js:303
            this.resetTimerButton.connect('clicked', () => {
                this._scheduleNextHistoryClear();
            })

All Versions

Version Status
1 Unreviewed