Skip to content

Add arrow-key shortcuts for workspace/tab switching#1

Open
anthhub wants to merge 4 commits intomainfrom
feat/arrow-key-navigation
Open

Add arrow-key shortcuts for workspace/tab switching#1
anthhub wants to merge 4 commits intomainfrom
feat/arrow-key-navigation

Conversation

@anthhub
Copy link
Copy Markdown
Owner

@anthhub anthhub commented Mar 24, 2026

Summary

  • Adds Cmd+Shift+Right/Left as alternative shortcuts for next/previous surface (tab) switching, alongside the existing Cmd+Shift+]/[
  • Adds Cmd+Ctrl+Right/Left as alternative shortcuts for next/previous workspace switching, alongside the existing Cmd+Ctrl+]/[
  • When the browser address bar is focused, Cmd+Shift+Arrow is passed through to text editing (select-to-line-boundary) so it does not interfere with text selection

Arrow keys are more intuitive for directional navigation. All existing bracket-based shortcuts are preserved unchanged.

Action Existing shortcut New shortcut
Next surface Cmd+Shift+] Cmd+Shift+→
Previous surface Cmd+Shift+[ Cmd+Shift+←
Next workspace Cmd+Ctrl+] Cmd+Ctrl+→
Previous workspace Cmd+Ctrl+[ Cmd+Ctrl+←

Test plan

  • Verify Cmd+Shift+Right/Left switches between surfaces
  • Verify Cmd+Ctrl+Right/Left switches between workspaces
  • Verify existing Cmd+Shift+]/[ and Cmd+Ctrl+]/[ still work
  • Verify Cmd+Option+Arrow pane focus navigation is unaffected
  • Verify Cmd+Shift+Arrow in browser address bar selects text (not consumed by surface switching)

🤖 Generated with Claude Code

anthhub and others added 4 commits March 25, 2026 00:23
Add Cmd+Shift+Right/Left as alternative shortcuts for next/previous
surface switching (alongside existing Cmd+Shift+]/[), and
Cmd+Ctrl+Right/Left for next/previous workspace switching (alongside
existing Cmd+Ctrl+]/[).

Arrow keys are more intuitive for directional navigation. The existing
bracket shortcuts are preserved unchanged.

When the browser address bar is focused, Cmd+Shift+Arrow is passed
through to text editing (select-to-line-boundary) instead of being
consumed by surface switching.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…tchShortcut behavior

Arrow-key workspace/surface shortcuts silently failed when CapsLock was
on because matchArrowShortcut did not subtract .capsLock from modifier
flags. Add .capsLock to the subtracting set to be consistent with
matchShortcut.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The existing bypass only checked for address bar focus, so
Cmd+Shift+Left/Right was still intercepted for surface switching when a
page <input>, <textarea>, or contentEditable element had focus. Extend
the check to also detect when a CmuxWebView (or its WebKit subview) is
the first responder via a lightweight responder-chain walk, so standard
text selection works in all browser text inputs.

Addresses CodeRabbit review comment on PR manaflow-ai#2057.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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