aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tmux/.local/bin/tmux-sessions
blob: bac0c369848d30ac5149232311240bf25d2f99f7 (plain)
1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/env bash

[[ -n "$TMUX" ]] && change="switch-client" || change="attach-session"

# shellcheck disable=2016
session=$(tmux list-sessions -F '#{session_last_attached}0:#{session_name}' 2>/dev/null |
	sort -t':' -r -k1 | cut -d':' -f2 | sed "/^$(tmux list-panes -F '#S')$/d" |
	fzf-tmux -p -- --select-1 --exit-0 --preview-window=right,80% --preview='tmux capture-pane -ep -t {}' \
		--bind 'ctrl-q:execute(tmux kill-session -t{})+reload(tmux list-sessions -F "#{session_name}" 2>/dev/null |
        sed "/$(tmux list-panes -F "#S")/d" )') &&
	tmux $change -t "$session" || exit 0