Skip to main content

Installation and First Hide

This lesson installs the plugin and verifies the basic hide/restore loop.

Requirements

RequirementWhy It Is Needed
tmux 3.2+Pane movement, popups, and layouts
BashPlugin scripts
fzf and fzf-tmuxInteractive hidden-pane picker
SSH access to the private repositoryRequired 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.

~/.tmux.conf
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:

~/.tmux.conf
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:

BindingExpected Script
Hhide-pane.sh
hlist-hidden.sh
Ttoggle-last.sh

First Hide

Use a window with at least two panes for the first test.

  1. Create a second pane if needed: prefix + | for a side-by-side split or prefix + - for a top/bottom split on this server.
  2. Focus the pane to hide.
  3. Press prefix + H.
  4. Enter a label such as logs and press Enter.
  5. The pane disappears from the current window, but its process continues.
  6. Press prefix + h.
  7. Select logs and press Enter.
tip

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 + h popup
  • Restore it into the original window
  • Confirm the running process did not restart

Next Step

Continue with Hide, Restore, and Labels.