broot-sessionizer
A replacement for tmux-sessionizer that uses the broot instead of fzf, and runs in the minibuffer.
For those unfamiliar, here is the basic sessionizer workflow:
- You have one tmux session for every project that you're working on.
- The script presents you with a menu to select one of your projects from
- If a tmux session for that project already exists, switch to it
- Otherwise, create the session and switch to it
Differences from tmux-sessionizer:
- lets you pick any directory in the filesystem, instead of from a set list of projects.
- sets @default-path in the session to the path the user selects (useful for scripting)
Setup
If you haven't already, clone this repo to a know location, such as ~/.config/tmux/m.
cd ~/.config/tmux
git clone https://bluedragon1221/tmux-minibuffer m
Next, on the line that says external = in broot_cfg.sh, replace ~/.config/tmux/sessionizer.sh with the correct path to sessionizer.sh.
Now we can add our keybinding to launch it:
bind-key -n C-f run-shell "~/.config/tmux/m/minibuffer.sh -d '$HOME' '~/.config/tmux/m/broot-sessionizer/launch.sh'"
Optionally, you can create a binding to the menu instead:
bind-key -n C-p run-shell "~/.config/tmux/m/broot-sessionizer/menu.sh"
The menu has the shortcut p to open the sessionizer, along with shortcuts for opening active sessions.
