« get me outta code hell

tmux, kitty: fake keybindings - dotfiles - Miscellaneous configuration files of my personal use
about summary refs log tree commit diff
path: root/.tmux.conf
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2024-05-11 09:07:51 -0300
committer(quasar) nebula <qznebula@protonmail.com>2024-05-11 09:07:51 -0300
commit3f9154fc4f48b1119e449b4de729dd7d42fb0dd6 (patch)
treee79cdd7a119ecc1dc21cc3d86d9ca7345074fdbf /.tmux.conf
parentcb24e2d435c01f7699caf70fcdfc3640cfe53f35 (diff)
tmux, kitty: fake keybindings
Diffstat (limited to '.tmux.conf')
-rw-r--r--.tmux.conf18
1 files changed, 18 insertions, 0 deletions
diff --git a/.tmux.conf b/.tmux.conf
index dda9b5b..b51fe44 100644
--- a/.tmux.conf
+++ b/.tmux.conf
@@ -10,5 +10,23 @@ set-window-option -g window-status-current-style fg=colour251,bright
 bind '"' split-window -c "#{pane_current_path}"
 bind % split-window -h -c "#{pane_current_path}"
 bind c new-window -c "#{pane_current_path}"
+
 bind -n C-S-Left swap-window -t -1
 bind -n C-S-Right swap-window -t +1
+
+# These are "fake" keybindings: we *want* to bind to key combinations
+# that tmux can't actually detect (for one reason or another, but
+# generally because it's not an ASCII-represented key chord). Instead
+# we bind the commands to arbitrary codes that we probably won't want
+# to actually press, and then configure the terminal editor (i.e. see
+# kitty.conf) to actually pass the relevant keys along.
+#
+# Technically this also means we can customize the effective bindings
+# per terminal emulator.
+
+bind -n M-S-a swap-window -t -1 \; previous-window   ## bind to C-S-, (ctrl <)
+bind -n M-S-b swap-window -t +1 \; next-window       ## bind to C-S-. (ctrl >)
+bind -n M-S-c previous-window   ## bind to C-, (ctrl ,)
+bind -n M-S-d next-window       ## bind to C-. (ctrl .)
+
+# End "fake" keybindings.