Commit Graph
7 Commits
Author SHA1 Message Date
branderson 3cbe6b31b2 Add tmux-fzf for session/window/pane navigation
Many concurrent sessions with many panes each make it hard to track what is
running where, and moving a pane between windows means join-pane with a
hand-typed target, so it rarely gets done.

tmux-fzf gives a fuzzy-searchable list of every session, window and pane with
a live preview of each, and implements break/join/swap as pane actions --
which is the pane-movement gap. fzf is already in apt.global, arch.global and
brew.global, so no new packages are needed.

Checked out as a submodule rather than left for TPM to clone on first
prefix+I: ~/.tmux symlinks to config/tmux, so a TPM-installed plugin lands
inside this repo as untracked files. The submodule pins a version and
installs via the existing "git submodule update --init". TPM still sources it
from the @plugin line and can still update it.

prefix+F is the plugin's own top-level menu. prefix+P/W/S skip straight to
the pane, window and session panels. TMUX_FZF_CLIENT pins each action to the
client that opened it, as the plugin's own binding does -- run-shell has no
client context, so tmux otherwise targets the most recently active client,
which is wrong when a second client is attached to the same session.

No env-var configuration was needed: preview is already on by default, and
the TMUX_FZF_* variables are read from the environment only, so the README's
suggestion to set them in .tmux.conf is not valid tmux syntax.

Tested against tmux 3.5a and fzf 0.38.0: config parses with no errors, all
three bindings register, existing bindings are unaffected, TPM sources the
plugin and binds prefix+F, the three scripts pass bash -n, and the plugin's
fzf-version detection resolves to fzf-tmux with preview enabled. The
interactive picker itself needs a real terminal and is left to manual check.
2026-08-02 23:07:57 -07:00
branderson 2df4cc4c30 Remove dotfiles-local submodule for real 2025-09-15 23:35:44 -07:00
branderson 5f8d9c1047 Add fzf dependency, bash powerline, only ssh-add if not in keyring already 2025-09-14 01:40:55 -07:00
branderson c20eeab2cc Add local dotfiles management system 2025-09-12 01:20:00 -07:00
branderson 14b60aa369 Add dependencies as submodules 2024-02-07 17:52:46 -08:00
branderson e5090fdc89 Migrate to new dotfiles structure 2024-02-07 14:52:22 -08:00
Bradley Anderson 4acde23c44 Remove unnecessary files and add submodules 2017-08-09 15:01:24 -07:00