Skip to content

Fix ⌘⇧, reload_config hotkey#259

Merged
sbertix merged 1 commit intomainfrom
sbertix/240-reload-config-hotkey
Apr 20, 2026
Merged

Fix ⌘⇧, reload_config hotkey#259
sbertix merged 1 commit intomainfrom
sbertix/240-reload-config-hotkey

Conversation

@sbertix
Copy link
Copy Markdown
Collaborator

@sbertix sbertix commented Apr 20, 2026

Summary

  • ⌘⇧, (ghostty's reload_config) did nothing in Supacode: the surface view forwarded every consumed ghostty binding to NSApp.mainMenu.performKeyEquivalent wholesale, which can intercept ghostty-only shortcuts via AppKit's menu matching quirks.
  • Gate the forward on a real item match — walk the main menu and only hand off when an item's key equivalent + modifier mask actually match the event (with implicit-shift handling for uppercase keyEquivalent).

Test plan

  • Edit ~/.config/ghostty/config (e.g. change font-size), press ⌘⇧, in a focused terminal surface → surfaces redraw with the new config without restarting the app.
  • ⌘, still opens Settings.
  • Existing ghostty-sourced menu shortcuts (e.g. ⌘T new tab, ⌘W close surface) still work.
  • make test passes.

Closes #240

`⌘⇧,` (ghostty's `reload_config`) did nothing in Supacode because the
surface view forwarded every consumed ghostty binding to
`NSApp.mainMenu.performKeyEquivalent` wholesale, which can intercept
ghostty-only shortcuts. Now only forward when an item actually matches
key + modifier mask (with implicit-shift handling for uppercase
keyEquivalent).

Fixes #240.
@sbertix sbertix enabled auto-merge (squash) April 20, 2026 19:41
@tuist
Copy link
Copy Markdown

tuist Bot commented Apr 20, 2026

🛠️ Tuist Run Report 🛠️

Builds 🔨

Scheme Status Duration Commit
supacode 1m 10s 39dadb14a

@sbertix sbertix merged commit 6c807c6 into main Apr 20, 2026
2 checks passed
@sbertix sbertix deleted the sbertix/240-reload-config-hotkey branch April 20, 2026 19:47
jzillmann pushed a commit to jzillmann/supacool that referenced this pull request Apr 23, 2026
…abitapp#259)

`⌘⇧,` (ghostty's `reload_config`) did nothing in Supacode because the
surface view forwarded every consumed ghostty binding to
`NSApp.mainMenu.performKeyEquivalent` wholesale, which can intercept
ghostty-only shortcuts. Now only forward when an item actually matches
key + modifier mask (with implicit-shift handling for uppercase
keyEquivalent).

Fixes supabitapp#240.
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.

Ghostty config reload (⌘⇧,) doesn't work

1 participant