Skip to content

Add configurable instant switching modes - #68

Open
Focus2321 wants to merge 2 commits into
gouwsxander:mainfrom
Focus2321:codex/upstream-instant-switch
Open

Add configurable instant switching modes#68
Focus2321 wants to merge 2 commits into
gouwsxander:mainfrom
Focus2321:codex/upstream-instant-switch

Conversation

@Focus2321

@Focus2321 Focus2321 commented Jul 22, 2026

Copy link
Copy Markdown

Summary

  • add persisted never, single-window, and always instant-switching modes
  • preserve the existing switcher behavior by default
  • focus a sole usable window immediately in single-window mode
  • focus and cycle windows directly on keydown using stable window IDs and ordering
  • reconcile opened and closed windows without adopting Accessibility's reordered front-to-back list
  • reuse the same window enumeration when falling back to the panel

Why

Users who prioritize immediate switching can opt into it without adding work to Reef's default path. Apps with no usable windows retain the existing switcher action rather than implicitly requesting a new window.

The stable ordering prevents always mode from alternating between two windows after raising the selected window changes the Accessibility window list order.

Validation

  • git diff --check
  • unsigned macOS xcodebuild test -only-testing:ReefTests (8 tests passed)

Closes #25
Closes #55

@Focus2321

Copy link
Copy Markdown
Author

Changes were made using CODEX, but everything was manually tested.

New setting "Instant switching"

image

"Never" mode (the current default mode)

New.Tab.-.22.July.2026.mp4

"Single-window apps" mode (If an app has only 1 window opened, the switch is instant. Video below shows kitty with only 1 window opened and chrome having multiple)

New.Tab.-.22.July.2026.1.mp4

"Always" mode (It does not matter if you have one or multiple windows opened, it will always switch window instantly. If you have an app that has multiple windows opened, it will go through every window)

kitty.-.-.22.July.2026.mp4

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.

Feature request: app switching on keydown Feature Request: Faster Switching

1 participant