fix: zellij session must detach, not quit, when the client dies#118
Open
BrettKinny wants to merge 2 commits into
Open
fix: zellij session must detach, not quit, when the client dies#118BrettKinny wants to merge 2 commits into
BrettKinny wants to merge 2 commits into
Conversation
on_force_close "quit" killed the whole session (and every process in it) whenever the ssh/mosh chain dropped — the opposite of what a multiplexer is for. Default to "detach" and self-heal existing configs on upgraded containers, mirroring the tmux mouse self-heal. Also bind <leader> ? to a floating configuration plugin as a keybinding help popup (clear-defaults=true leaves no discoverable help otherwise). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Ctrl+Space is transmitted as a NUL byte that some client stacks never deliver (iPadOS grabs it for input-source switching before Blink sees it). Mirror every Ctrl+Space mode bind with Ctrl+b — the classic tmux prefix — in the shipped config and the self-heal. Scroll/search modes keep their explicit Ctrl+b page-up binds, which take precedence over the shared exit bind. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
on_force_close "quit"→"detach"in the default zellij config. Withquit, any dropped client connection (ssh timeout, mosh client killed, terminal app closed by the OS) killed the entire session and every process running in it — the opposite of what a terminal multiplexer is for.detach(zellij's own default) leaves the session running for reattach.Ctrl+bas a second leader mirroring everyCtrl+Spacemode bind. Ctrl+Space is a NUL byte some client stacks never deliver (iPadOS grabs it for input-source switching before the terminal app sees it); Ctrl+b is the classic tmux prefix. Scroll/search keep their explicit Ctrl+b page-up binds, which take precedence over the shared exit bind._ensure_zellij_defaultsself-heal (same pattern as the tmux mouse self-heal) so already-provisioned containers get all fixes on the next setup run, since the config heredoc only writes when noconfig.kdlexists.<leader> ?to a floating configuration plugin as a keybinding help popup —clear-defaults=truemeans there is otherwise no discoverable way to browse the custom binds.Testing
bash -n setup.shzellij setup --check(zellij 0.44.3, in a live squarebox container)._ensure_zellij_defaultsrun verbatim against a pre-fixconfig.kdl; result has the 4 expected Ctrl+b binds and passeszellij setup --check.?popup, and Ctrl+b leader confirmed interactively over mosh from an iPad (Blink) client.🤖 Generated with Claude Code