Skip to content

Add configurable trackpad gestures and lighter previews#29

Open
peterp wants to merge 1 commit into
mainfrom
trackpad-gestures-preview-performance
Open

Add configurable trackpad gestures and lighter previews#29
peterp wants to merge 1 commit into
mainfrom
trackpad-gestures-preview-performance

Conversation

@peterp

@peterp peterp commented Jun 26, 2026

Copy link
Copy Markdown
Owner

Problem

cmdcmd did not have built-in trackpad swipe support. Users had to rely on outside gesture tools, and macOS three-finger gestures could fight with cmdcmd.

Live previews could also feel blurry or heavy. Fast cmd-cmd taps could sometimes miss, and the old idle dots no longer told the truth because every captured frame counted as activity.

Solution

This PR adds configurable three-finger swipe support inside cmdcmd. Settings can warn about macOS gesture conflicts and help the user disable them only when they choose to.

It also adds preview quality modes, makes live capture lighter, fixes idle dots, and makes fast cmd-cmd taps more reliable.

Technical Summary

  • Keep keyboard and click input binary. Enter, click, tap, and pick commands select exactly the intended tile. Gesture input stays analog and uses thresholds only for swipe progress.
  • Add a small CMultitouch bridge for raw three-finger swipe and tap events. Swipe up reveals cmdcmd. Swipe down dismisses back to the original window instead of choosing another tile.
  • Add trackpadSwipe and previewQuality config. Settings exposes both, detects likely macOS three-finger conflicts, and only changes system gesture settings after an explicit button click.
  • Register cmdcmd:// URLs for external launchers. URL handling queues early app-open events until the overlay is ready.
  • Keep balanced previews cheap. The grid stays nominal resolution, while Retina capture is promoted only for pick, click, peek, or pop. Capture is serial, rate-limited, and backed by a capped image cache.
  • Fix idle dots by sampling a tiny frame signature. A poll no longer counts as activity unless the window image actually changes.
  • Make cmd-cmd detection use one event source when possible and preserve Command-side state across fast, side-bit-only modifier events.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant