aboutsummaryrefslogtreecommitdiffstats
path: root/sl0p/zj-pane-finder
diff options
context:
space:
mode:
authoruser <user@clank>2026-08-11 22:45:48 +0200
committeruser <user@clank>2026-08-11 22:45:48 +0200
commitde497c8ae87f2c93ce52f279eb84bc0025b7541c (patch)
tree4ad4abf92524d6be6aa86d41b15317b207938c35 /sl0p/zj-pane-finder
parentsl0p(pane-finder): take the whole viewport on small terminals (diff)
downloadsl0ppij-de497c8ae87f2c93ce52f279eb84bc0025b7541c.tar.gz
sl0ppij-de497c8ae87f2c93ce52f279eb84bc0025b7541c.tar.xz
sl0ppij-de497c8ae87f2c93ce52f279eb84bc0025b7541c.zip
sl0p(pane-finder): document a single-chord binding
Reaching the finder through a mode dance (leader, then session mode, then a letter) is too many keys for something used constantly. Documents Ctrl-; as a one-chord binding, and why: ';' has no control-code meaning, readline does not bind it, and vim binds only bare ';' -- while plain ';' keeps typing normally. Also records the tradeoff. Ctrl-; needs the kitty keyboard protocol to be distinguishable from a plain ';', so it silently never fires on a terminal without it. The combos that work anywhere are real control codes and are all taken: Ctrl-\\ is SIGQUIT, Ctrl-] is vim's tag jump, Ctrl-_ is readline undo.
Diffstat (limited to 'sl0p/zj-pane-finder')
-rw-r--r--sl0p/zj-pane-finder/README.md29
1 files changed, 29 insertions, 0 deletions
diff --git a/sl0p/zj-pane-finder/README.md b/sl0p/zj-pane-finder/README.md
index 501428d7..83ed136b 100644
--- a/sl0p/zj-pane-finder/README.md
+++ b/sl0p/zj-pane-finder/README.md
@@ -51,6 +51,35 @@ Note it does **not** build into `./target`: this checkout's `.cargo/config.toml`
sets a shared `build.target-dir`, so `install.sh` asks `cargo metadata` where
the artifact actually landed.
+## Binding it
+
+Something used this often wants a single chord rather than a mode dance. In a
+config with `default_mode "locked"`, put it in a block shared by the modes you
+actually sit in:
+
+```kdl
+shared_among "normal" "locked" {
+ bind "Ctrl ;" {
+ LaunchOrFocusPlugin "file:~/.config/zellij/plugins/pane-finder.wasm" {
+ floating true
+ move_to_focused_tab true
+ skip_plugin_cache true
+ };
+ SwitchToMode "Locked"
+ }
+}
+```
+
+`Ctrl ;` is deliberately obscure: `;` has no control-code meaning, readline does
+not bind it, and vim binds only bare `;` (repeat `f`/`t`), never `Ctrl ;`. Plain
+`;` keeps typing normally.
+
+It does need the **kitty keyboard protocol** to be distinguishable from a plain
+`;` — zellij enables it and kitty speaks it, but on a terminal without it the
+binding simply never fires. `Ctrl \`, `Ctrl ]` and `Ctrl _` are real control
+codes and work anywhere, but they collide with SIGQUIT, vim's tag jump and
+readline's undo respectively.
+
## Keys
`type` filter · `Up`/`Down`, `Ctrl-p`/`Ctrl-n`, `Tab` move · `Enter` jump