diff options
| author | user <user@clank> | 2026-08-11 22:45:48 +0200 |
|---|---|---|
| committer | user <user@clank> | 2026-08-11 22:45:48 +0200 |
| commit | de497c8ae87f2c93ce52f279eb84bc0025b7541c (patch) | |
| tree | 4ad4abf92524d6be6aa86d41b15317b207938c35 /sl0p/zj-pane-finder | |
| parent | sl0p(pane-finder): take the whole viewport on small terminals (diff) | |
| download | sl0ppij-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.md | 29 |
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 |
