docs(docs): clarify Ghostty tmux integration and add mise shim PATH note

This commit is contained in:
Prad Nukala committed 2026-10-08 11:43:29 -04:00
1 parent 15b83a7fd9
commit b8c0bc5b3b
1 file changed
+4 -2
+4 -2
View File
@@ -40,13 +40,15 @@ Every Ghostty window gets its own tmux session; no two windows mirror the same o
1. If a detached session exists (left by a closed window, or restored by continuum after a reboot), it attaches to the oldest one. 1. If a detached session exists (left by a closed window, or restored by continuum after a reboot), it attaches to the oldest one.
2. Otherwise it starts a new session. 2. Otherwise it starts a new session.
Ghostty's colors match tmux's tab bar because both use the fixed cyberdream palette: Ghostty's background `#16181a` is tmux's `@tab-bg`. Before starting tmux, the script puts mise's shims on `PATH`. A server started from a desktop-launched Ghostty therefore finds the tools tmux plugins shell out to: bun for the palette, fzf, and zoxide.
The window title is the tmux session name (`set-titles-string '#S'`), so the compositor's window groups list one entry per session. Ghostty's colors match tmux's tab bar because both use the fixed cyberdream palette: Ghostty's background `#16181a` is tmux's `@tab-bg`.
Closing a window only detaches its session; the shells keep running in the tmux server. In tmux, `detach-on-destroy no-detached` means killing a session moves the window to a *detached* session, or closes the window if there is none, so it never lands on another window's session. Across reboots, tmux-continuum saves every 10 minutes. The first Ghostty window starts the server, and that triggers continuum's restore. See [tmux](/terminal/tmux#persistence). Closing a window only detaches its session; the shells keep running in the tmux server. In tmux, `detach-on-destroy no-detached` means killing a session moves the window to a *detached* session, or closes the window if there is none, so it never lands on another window's session. Across reboots, tmux-continuum saves every 10 minutes. The first Ghostty window starts the server, and that triggers continuum's restore. See [tmux](/terminal/tmux#persistence).
## Keybindings ## Keybindings
`keybind = clear` comes first and drops every Ghostty default: tabs, splits, `alt+N` goto_tab, and `ctrl+alt+arrow` goto_split. Those chords then reach tmux, which binds `alt+1…9` and `ctrl+alt+arrows` itself. `ctrl+h/j/k/l` also pass straight through to tmux's vim-aware pane navigation, which hands off to and from nvim's splits (see [tmux](/terminal/tmux#keybindings)). Each `ctrl+shift` chord sends tmux's second prefix, `ctrl+b` (`\x02`), followed by a key. `keybind = clear` comes first and drops every Ghostty default: tabs, splits, `alt+N` goto_tab, and `ctrl+alt+arrow` goto_split. Those chords then reach tmux, which binds `alt+1…9` and `ctrl+alt+arrows` itself. `ctrl+h/j/k/l` also pass straight through to tmux's vim-aware pane navigation, which hands off to and from nvim's splits (see [tmux](/terminal/tmux#keybindings)). Each `ctrl+shift` chord sends tmux's prefix, `ctrl+b` (`\x02`), followed by a key.
| Key | Ghostty action | | Key | Ghostty action |
| --- | --- | | --- | --- |