Installation and First Hide
This lesson installs the plugin and verifies the basic hide/restore loop.
Requirements
| Requirement | Why It Is Needed |
|---|---|
| tmux 3.2+ | Pane movement, popups, and layouts |
| Bash | Plugin scripts |
fzf and fzf-tmux | Interactive hidden-pane picker |
| SSH access to the private repository | Required while the repository remains private |
Check the core tools:
tmux -V
fzf --version
command -v fzf-tmux
ssh -T git@github.com
TPM Installation
Place tmux-resurrect before tmux-hidden-panes. The hidden-pane plugin wraps
Resurrect save and restore paths when both plugins are present.
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @plugin 'git@github.com:donnyaw/tmux-hidden-panes.git'
run '~/.tmux/plugins/tpm/tpm'
The SSH URL is intentional: the GitHub repository is private. Press
prefix + I to install it, then reload the configuration:
tmux source-file ~/.tmux.conf
Manual Installation
git clone git@github.com:donnyaw/tmux-hidden-panes.git \
~/.tmux/plugins/tmux-hidden-panes
Source the plugin after tmux-resurrect:
run-shell ~/.tmux/plugins/tmux-hidden-panes/tmux-hidden-panes.tmux
Verify Installation
Inspect the bindings loaded into the tmux server:
tmux list-keys -T prefix H
tmux list-keys -T prefix h
tmux list-keys -T prefix T
Expected actions:
| Binding | Expected Script |
|---|---|
H | hide-pane.sh |
h | list-hidden.sh |
T | toggle-last.sh |
First Hide
Use a window with at least two panes for the first test.
- Create a second pane if needed:
prefix + |for a side-by-side split orprefix + -for a top/bottom split on this server. - Focus the pane to hide.
- Press
prefix + H. - Enter a label such as
logsand press Enter. - The pane disappears from the current window, but its process continues.
- Press
prefix + h. - Select
logsand press Enter.
Try this first with a visible long-running command such as watch date,
tail -f, or btop. The command keeps running while hidden.
Verify the Process Is Still Alive
While a pane is hidden, tmux stores it in the __hidden__ session:
tmux list-panes -s -t __hidden__ -F '#{pane_id} | #{window_name} | #{pane_current_command}'
Do not normally work directly inside __hidden__. Use prefix + h to restore
the pane through the supported workflow.
First-Hide Success Criteria
You are ready for the next module when you can:
- Hide a pane with
prefix + H - Find it in the
prefix + hpopup - Restore it into the original window
- Confirm the running process did not restart
Next Step
Continue with Hide, Restore, and Labels.