Replies: 1 comment
|
I have a related use case for Currently, For example: focus_agent_1 = "f1"
focus_agent_2 = "f2"
focus_agent_3 = "f3"
focus_agent_4 = "f4"I’m not attached to that exact syntax—the important part is separating the destination index from the physical key. This would preserve dynamic priority ordering while allowing ergonomic layouts and avoiding terminal-wide remapping. This also overlaps with the function-key request in #909. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
idea / problem
herdr's keybinding system is mostly flexible — pane split/close, copy mode, focus movement, next/previous tab, and even the prefix key itself all accept arbitrary key combinations. But the "indexed" actions (switch_tab, switch_workspace, focus_agent) are hard-restricted to digit keys 1..9. Any other key assigned to them is silently rejected at parse time.
This is especially awkward on 40% keyboards, where the number row doesn't exist as a direct row — digits live behind a Fn/layer-shift combo instead of a single physical key. That makes tmux-style "prefix + number" jumps much more expensive to reach than on a full-size keyboard, since it requires holding an extra layer key on top of the prefix chord.
tmux doesn't have this limitation: bind-key lets you map window/pane-select actions to any key, so 40%-keyboard and non-QWERTY users commonly remap these to home-row keys (e.g. q w e r t or a s d f g) instead of the number row.
requested change
switch_tab = ["prefix+q", "prefix+w", "prefix+e", "prefix+r", "prefix+t"]
Position in the list would map to tab index. Keep 1..9 as the default so existing users see no change, with the current "prefix+1..9" shorthand remaining as sugar for the default ordered digit list.
Related: #1455 raises a similar underlying issue for resize-mode's hard-coded h/j/k/l directions (blocking Colemak-DH remaps). Both point at the same root cause — a handful of actions are parsed/validated as special-purpose types instead of going through the general keybinding path.
why you want this
I use a 40% keyboard, so number-row jumps are meaningfully slower for me than home-row jumps would be. Being able to remap switch_tab to keys next to the prefix chord would make tab switching as fast as the rest of herdr's keyboard-first workflow.
All reactions