Review of "TouchUp" version 1.5.0 (17)

Details Page Preview

Enhances various aspects of the GNOME experience when using a touch device. Current features: - Navigation bar (gestures and buttons mode), as known from Android - Touch gestures for notifications (dismiss, collapse, expand) - Make the notification area touch-scrollable - Onscreen Keyboard: key popups, extended keys, swipe to close, quick paste button, switch layouts by space bar swiping - Manually open the keyboard by swiping up the bottom left navigation bar edge - Floating rotate button when auto-rotation is off, as known from Android - Overview and desktop background gestures (switch workspaces, open/close overview) - Overview window preview gestures (swipe up to close windows, hold+move to drag) - Double tap panel, desktop background or lockscreen to lock & sleep A lot more is planned; take a look at the roadmap for that: https://github.com/mityax/gnome-extension-touchup Notice: If you enable the OSK quick paste action feature, TouchUp will access your clipboard – clipboard content, however, never leaves your devices memory (i.e. is not written to a file, or sent via network). If you find this extension valuable, please donate to make sure the work can go on! :)

Extension Homepage
https://github.com/mityax/gnome-extension-touchup

No comments.

Diff Against

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

  • features/osk/_oskQuickPasteActionFeature.js:87
    St.Clipboard.get_default()
  • features/osk/_oskQuickPasteActionFeature.js:134
    St.Clipboard.get_default()

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

  • features/backgroundNavigationGestures/_desktopBackgroundGestures.js:54
            recognizer.connect('gesture-ended', _ => {
                global.window_group.visible = global.window_group.opacity !== 0;
                global.window_group.opacity = 255;
            })
  • features/backgroundNavigationGestures/_windowPreviewGestures.js:85
                gesture.connect('may-recognize', () => {
                    return (GestureRecognizerEvent.isTouch(gesture.get_point_event(0)) // only respond to touch gestures
                        && gesture.get_accumulated_delta().get_y() <= 0); // only respond to swipe-down gestures
                })
  • features/donations/donationsFeature.js:63
    notification.connect('activated', () => this.openDonationPage())
  • features/navigationBar/widgets/gestureNavigationBar.js:38
    this.actor.connect('notify::mapped', () => this.gestureManager.setEnabled(this.actor.mapped))
  • features/navigationBar/widgets/gestureNavigationBar.js:195
    this._gesture.connect('should-handle-sequence', (_, e) => this._shouldHandleSequence(e))
  • features/osk/_oskKeyPopupsFeature.js:29
                        bp.connect('destroy', () => {
                            self.boxPointers.delete(this);
                            self.pm.drop(bpPatch);
                        })
  • utils/ui/widgets.js:71
    this._destroySignalId = value?.connect('destroy', () => this.set(null))

EGO-L-004 warning

main loop sources should be removed in disable()

Main loop sources assigned in `enable()` are missing matching removals in `disable()` or its helper methods.

Remove main loop sources

  • features/navigationBar/widgets/gestureNavigationBar.js:129
                GLib.idle_add(GLib.PRIORITY_DEFAULT_IDLE, () => {
                    if (!this.styleClassUpdateInterval.enabled)
                        return GLib.SOURCE_REMOVE;
                    let rect = this.pill.get_transformed_extents();
                    // Get the color at one pixel centered above the na

EGO-M-008 warning

extensions using unlock-dialog must document it in disable() comments

Extensions using `unlock-dialog` should document the reason in `disable()` comments.

Session Modes

  • extension.js
    unlock-dialog declared but disable() was not found

All Versions

Version Status
1.5.0 (19) Active
1.5.0 (18) Rejected
1.5.0 (17) Rejected
1.4.0 (16) Active
1.4.0 (15) Rejected
1.3.5 (14) Active
1.3.4 (13) Active
1.3.3 (12) Active
1.3.2 (11) Active
1.3.1 (10) Active
1.3.0 (9) Active
1.3.0 (8) Rejected
1.2.2 (7) Active
1.2.1 (6) Rejected
1.2.0 (5) Active
1.1.0 (4) Active
3 Active
2 Rejected
1 Rejected

Previous Reviews on this Version

SriramRamkrishna rejected
The shexli linter has a few issues, can you make sure they are clean and resubmit?
mityax posted a review
Sure, done in the new version!