Skip to content

ghostty: keep Hyper chords off the menu bar so herdr gets them - #19

Merged
froppa merged 1 commit into
masterfrom
ghostty-hyper-off-menus
Oct 6, 2026
Merged

froppa merged 1 commit into
masterfrom
ghostty-hyper-off-menus

Conversation

@froppa

@froppa froppa commented Oct 6, 2026

Copy link
Copy Markdown
Owner

Inside herdr, Hyper-C still opened a Ghostty tab. Ghostty uses the most recently defined binding for an action as that action's menu shortcut, so File ▸ New Tab, Split Right and Close showed ⌃⌥⌘C, ⌃⌥⌘I and ⌃⌥⌘X. macOS fires menu shortcuts before Ghostty looks at key tables, so the herdr table's unbind lines never got a chance to run.

  • The Hyper action bindings now start with performable:, which Ghostty 1.3.1 leaves out of menu shortcuts (src/input/Binding.zig, reverse map). The menus go back to ⌘T, ⌘D and the other Command defaults.
  • test.sh fails if a Hyper action binding loses performable:.

Side effect: a Hyper chord whose action can't run (for example moving to a split when there is none) now reaches the shell instead of being swallowed.

Ghostty shows the last binding for an action as its menu shortcut, so
New Tab, Split Right and Close carried the Hyper chords. macOS fires a
menu shortcut before any key table, so the herdr table never saw them.

performable: bindings never become menu shortcuts (Binding.zig reverse
map), which leaves the menus on the Command defaults.
@froppa
froppa merged commit 52a278e into master Oct 6, 2026
2 checks passed
@froppa
froppa deleted the ghostty-hyper-off-menus branch October 6, 2026 17:00
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