mirror of
https://github.com/prdlk/dotfiles.git
synced 2026-11-02 19:32:43 +00:00
docs(docs): document ctrl+space binding and tmux‑palette integration
This commit is contained in:
1 parent
29187bc763
commit
15b83a7fd9
2 files changed
+17
-3
No files matched your search
@@ -54,6 +54,7 @@ Closing a window only detaches its session; the shells keep running in the tmux
|
||||
| `ctrl+plus` / `ctrl+minus` / `ctrl+zero` | Font size +1 / -1 / reset |
|
||||
| `ctrl+shift+.` | Reload Ghostty config |
|
||||
| `shift+enter` | Sends a literal newline |
|
||||
| `ctrl+space` | Sends NUL (tmux `C-Space`): opens the [tmux command palette](/terminal/tmux#command-palette) |
|
||||
|
||||
| Key | Sends | tmux action |
|
||||
| --- | --- | --- |
|
||||
|
||||
+16
-3
@@ -11,11 +11,11 @@ Terminal multiplexer. [Ghostty](/terminal/ghostty) runs nothing but tmux, and Gh
|
||||
| Target | `~/.config/tmux/` |
|
||||
| Install | `tmux` in `.chezmoidata/packages.yaml` (pacman, brew) |
|
||||
|
||||
tpm is a `git-repo` external in `.chezmoiexternal.toml`, cloned to `~/.config/tmux/plugins/tpm` when missing. `tmux.conf` ends with `run '~/.config/tmux/plugins/tpm/tpm'`. Plugins installed by tpm (`prefix I`) land next to it and are ignored by chezmoi.
|
||||
tpm is a `git-repo` external in `.chezmoiexternal.toml`, cloned to `~/.config/tmux/plugins/tpm` when missing. `tmux.conf` ends with `run '~/.config/tmux/plugins/tpm/tpm'`. Plugins installed by tpm (`prefix I`) land next to it and are ignored by chezmoi. `dot_config/tmux-palette/` (→ `~/.config/tmux-palette/`) holds the [palette](#command-palette) config.
|
||||
|
||||
## Options
|
||||
|
||||
The prefix is `ctrl+space`; `ctrl+b` is `prefix2` (the byte Ghostty sends).
|
||||
The prefix is `ctrl+b` (the byte Ghostty's `ctrl+shift` chords send). `ctrl+space` is not a prefix: it opens the [command palette](#command-palette).
|
||||
|
||||
| Option | Value |
|
||||
| --- | --- |
|
||||
@@ -26,7 +26,7 @@ The prefix is `ctrl+space`; `ctrl+b` is `prefix2` (the byte Ghostty sends).
|
||||
| `allow-passthrough` / `set-clipboard` / `mouse` / `focus-events` | `on` |
|
||||
| `update-environment` | `TERM` and `TERM_PROGRAM` appended, so programs see the outer terminal (Ghostty/kitty) |
|
||||
| `mode-keys` | `vi` |
|
||||
| `set-titles` | `on`, `#h:#W` |
|
||||
| `set-titles` | `on`, `#S`: the terminal window title is the session name, so compositor window groups list sessions (one per Ghostty window) instead of `host:window` |
|
||||
| `automatic-rename-format` | `#{window_icon} <label>`: Nerd Font icon, then the dynamic label described under [Window tabs](#window-tabs) |
|
||||
| `history-limit` | `50000` |
|
||||
| `detach-on-destroy` | `no-detached` (killing a session switches only to a detached session, else detaches, so a Ghostty window never lands on another window's session) |
|
||||
@@ -83,6 +83,19 @@ Labels longer than 27 characters end in `…`. The icon comes from tmux-nerd-fon
|
||||
| `tmux-plugins/tmux-resurrect` | `@resurrect-capture-pane-contents on` |
|
||||
| `tmux-plugins/tmux-continuum` | `@continuum-save-interval 10`, `@continuum-restore on` |
|
||||
| `omerxx/tmux-sessionx` | `@sessionx-bind o`; `@sessionx-zoxide-mode on` (a query that matches no session is resolved through zoxide into a new session); `@sessionx-fzf-builtin-tmux on` (`fzf --tmux` popup; needs fzf ≥ 0.53, bat for previews) |
|
||||
| `eduwass/tmux-palette` | `@palette-key C-Space` (root table, no prefix). Needs [Bun](https://bun.sh); tpm runs `bun install` on first load |
|
||||
|
||||
### Command palette
|
||||
|
||||
`ctrl+space` opens tmux-palette, a fuzzy command list in a popup. Its user config lives in `~/.config/tmux-palette/` (source `dot_config/tmux-palette/`):
|
||||
|
||||
| File | Contents |
|
||||
| --- | --- |
|
||||
| `commands.json` | The kitty launchers ported as palette items: **Lazygit** (90% popup in the pane's cwd; kitty `ctrl+shift+g`), **Yazi** (new window; kitty `ctrl+shift+f`), **Neovim Split** (right, 50%; kitty `ctrl+shift+e`), **Shell History (atuin)** (`atuin-pick` in a 25% split below; kitty `ctrl+shift+p`). Also **Sessions (sessionx)**, **Save Sessions**, and **Restore Sessions** (resurrect). Programs are started with `exec`, so the tab icon is the program's, not the shell's |
|
||||
| `shortcuts.json` | Ghostty `ctrl+shift` chords shown next to the built-in items they trigger (New Window → `Ctrl+Shift+T`, …) |
|
||||
| `theme.json` | Cyberdream: bg `#16181a`, panel `#1e2124`, selected `#243348` (the active-tab plate), muted `#7b8496`, accent `#5ea1ff` |
|
||||
|
||||
The palette's own **Switch Theme...** item rewrites `theme.json`; in chezmoi's symlink mode that edits the repo copy.
|
||||
|
||||
### Persistence
|
||||
|
||||
|
||||
Reference in new issue
Block a user