Review of "GNOME Honeycomb" version 1.0.0 (1)

Details Page Preview

Transforms the Applications view into a centered, rotatable honeycomb of app icons with magnetic magnification.

Extension Homepage
https://github.com/adlair/gnome-honeycomb

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 2

Shexli found 2 issues that may need reviewer attention.

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.

Destroy all objects

  • extension.js:1014
    this._canvasLayout = layout

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:1032
                this._canvasSignals.connect(this._viewport, 'motion-event', (actor, event) => {
                    return this._onHoneycombMotion(event);
                })
  • extension.js:1035
                this._canvasSignals.connect(this._viewport, 'leave-event', () => {
                    return this._onHoneycombLeave();
                })
  • extension.js:1038
                this._canvasSignals.connect(this._viewport, 'button-press-event', (actor, event) => {
                    return this._onHoneycombButtonPress(event, null);
                })
  • extension.js:1041
                this._canvasSignals.connect(this._viewport, 'button-release-event', (actor, event) => {
                    return this._onHoneycombButtonRelease(event);
                })
  • extension.js:1044
                this._canvasSignals.connect(this._canvas, 'motion-event', (actor, event) => {
                    return this._onHoneycombMotion(event);
                })
  • extension.js:1047
                this._canvasSignals.connect(this._canvas, 'button-press-event', (actor, event) => {
                    return this._onHoneycombButtonPress(event, null);
                })
  • extension.js:1050
                this._canvasSignals.connect(this._canvas, 'button-release-event', (actor, event) => {
                    return this._onHoneycombButtonRelease(event);
                })
  • extension.js:1525
            this._canvasSignals.connect(actor, 'button-press-event', (_actor, event) => {
                return this._onHoneycombButtonPress(event, item);
            })
  • extension.js:1528
            this._canvasSignals.connect(actor, 'button-release-event', (_actor, event) => {
                return this._onHoneycombButtonRelease(event);
            })
  • extension.js:1531
            this._canvasSignals.connect(actor, 'motion-event', (_actor, event) => {
                return this._onHoneycombMotion(event);
            })
  • extension.js:1534
            this._canvasSignals.connect(actor, 'clicked', () => {
                if (item.suppressClick) {
                    item.suppressClick = false;
                    return;
                }
    
                try {
                    item.app.activate();
                    Main.overview?.hide?.();
                } catch (
  • extension.js:144
            this._signals.connect(Main.overview, 'showing', () => {
                this.requestActivate('overview showing');
            })
  • extension.js:148
            this._signals.connect(Main.overview, 'shown', () => {
                this.requestActivate('overview shown');
                this._installAppDisplayLifecycleHook();
            })
  • extension.js:153
            this._signals.connect(Main.overview, 'hidden', () => {
                hlog(`Overview hidden -> restoring generation=${this._activationGeneration + 1}`);
                this.disableHoneycombIfActive('overview hidden');
            })
  • extension.js:440
            this._signals.connect(actor, 'notify::visible', () => {
                if (actor.visible)
                    this.requestActivate('appDisplay visible');
            })
  • extension.js:444
            this._signals.connect(actor, 'notify::mapped', () => {
                if (actor.mapped)
                    this.requestActivate('appDisplay mapped');
            })
  • extension.js:583
            this._signals.connect(this._appGridActor, 'destroy', () => {
                this._restoreCanvasState();
                this._active = false;
                this._appGridActor = null;
                this._appDisplay = null;
                this._appDisplayActor = null;
                this._gridHintActor = null;

All Versions

Version Status
1.0.0 (1) Unreviewed