I don't know the right terminology here, but I just learned about custom key tables and switch-client -T. I have my terminal configured to send a number of special codes for keys that don't normally have standard bindings (e.g. C-S-a sends F13-a), and it would be great to use these for tmux bindings. The only problem is that if I want to bind C-S-b in emacs, then it looks like I'd currently need to explicitly add a binding for 'b' in my F13 table to send-keys F13 b, and then switch back to the root table, since otherwise it seems to just switch back and swallow all the previous keys (including the one that wasn't bound). This does not scale.
I can think of a few possible solutions: 1. add an option to switch-client to queue up a key to send upon cancellation; whenever a binding is not found in a non-root table, send all the queued keys and then the bound key itself. 2. add a way to bind "all unbound keys" for a given key table, with a way to access the unbound keycode in the binding; with this, I could bind F13 to "set-option @prefixes $(show-option @prefixes)\ F13" and then "bind -T F13 unbound send-keys $(show-option @prefixes) $(get-unbound-keycode) \; switch-client -T root". Or am I missing something that already exists for this? -- You received this message because you are subscribed to the Google Groups "tmux-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to tmux-users+unsubscr...@googlegroups.com. To post to this group, send an email to tmux-users@googlegroups.com. For more options, visit https://groups.google.com/d/optout.