tmux: bind C-g to send a literal C-a #30

Merged
pedromcaraujo merged 1 commit from tmux-send-ctrl-a into main 2026-08-24 17:23:46 +01:00

macOS browsers swallow C-a above xterm.js (the launcher intercepts nothing — the keystroke never arrives), so C-a C-a and C-b C-a are both undeliverable and no app can receive a real Ctrl-a from a Mac.

That app is herdr in the herd channel: its prefix is ctrl+a to match the ssh front door, and herdr accepts a single prefix, so the browser cannot have its own.

C-g was unbound and passes through the browser cleanly, so bind it prefix-free to send-keys C-a — one keystroke instead of a chord. Added to the sidebar cheat sheet.

Cost: in claude channels C-g now means beginning-of-line rather than readline abort.

macOS browsers swallow `C-a` above xterm.js (the launcher intercepts nothing — the keystroke never arrives), so `C-a C-a` and `C-b C-a` are both undeliverable and no app can receive a real `Ctrl-a` from a Mac. That app is **herdr** in the `herd` channel: its prefix is `ctrl+a` to match the ssh front door, and herdr accepts a single prefix, so the browser cannot have its own. `C-g` was unbound and passes through the browser cleanly, so bind it prefix-free to `send-keys C-a` — one keystroke instead of a chord. Added to the sidebar cheat sheet. Cost: in `claude` channels `C-g` now means beginning-of-line rather than readline abort.
tmux: bind C-g to send a literal C-a
All checks were successful
CI / check (pull_request) Successful in 21s
a4bf2cf02a
macOS browsers swallow C-a above xterm.js — the launcher intercepts
nothing, the keystroke just never arrives — so neither `C-a C-a` nor
`C-b C-a` can deliver one, and any app that wants a real C-a is
unreachable from a Mac.

That app is herdr in the `herd` channel. Its prefix is C-a so it matches
the ssh front door, and herdr takes a single prefix, so the browser can't
have its own. C-g was unbound here and passes through the browser fine,
so bind it (no prefix) to send-keys C-a: one keystroke, not a chord.

The cost lands on the `claude` channels, where C-g now means
beginning-of-line instead of readline's abort.
pedromcaraujo deleted branch tmux-send-ctrl-a 2026-08-24 17:23:46 +01:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pedromcaraujo/forge!30
No description provided.