Add session manager for tmux.

This will open a tmux session for each monitor.
Add helper script for tmux actions.
This commit is contained in:
2025-09-22 15:26:42 +02:00
parent c4df56cb47
commit 8e563fec51
8 changed files with 622 additions and 11 deletions

View File

@@ -108,4 +108,19 @@ bind w display-popup -E "tmux list-windows -F '#{window_index}: #{window_name}'
bind f display-popup -E "fd --type f --hidden --follow --exclude .git | fzf --preview 'bat --color=always --style=numbers --line-range=:500 {}' | xargs -I {} tmux new-window 'vim {}'"
# Quick directory navigation
bind g display-popup -E "fd --type d --hidden --follow --exclude .git | fzf --preview 'tree -C {} | head -200' | xargs -I {} tmux send-keys 'cd {}' Enter"
bind g display-popup -E "fd --type d --hidden --follow --exclude .git | fzf --preview 'tree -C {} | head -200' | xargs -I {} tmux send-keys 'cd {}' Enter"
# Move window to another session with fzf
bind m display-popup -E "bash ~/.config/tmux/move-window.sh"
# Swap windows with fzf
bind M display-popup -E "tmux list-windows -F '#{window_index}: #{window_name}' | fzf --header='Swap current window with:' | cut -d: -f1 | xargs -I {} tmux swap-window -t {}"
# Move pane to another window with fzf
bind p display-popup -E "tmux list-windows -F '#{window_index}: #{window_name}' | fzf --header='Move pane to window:' | cut -d: -f1 | xargs -I {} tmux join-pane -t :{}"
# Break pane into new window
bind B break-pane -d
# Comprehensive tmux operations menu with fzf
bind Space display-popup -E -w 80% -h 80% "bash ~/.config/tmux/tmux-fzf-menu.sh --menu"