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.

Reply via email to