aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tmux/.local/bin/tmux-sessions
blob: 6d04f5f86c57448ecd717be6eb12b262573f22b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/sh

if [ "$#" -eq 0 ]; then
	# shellcheck disable=2016,2046
	set -- $(
		tmux list-sessions -F '#{session_last_attached}0:#{session_name}' 2>/dev/null |
			sort -t':' -r -k1 | cut -d':' -f2 | sed "/^$(tmux display-message -p '#S')$/d" |
			fzf-tmux "$FZF_TMUX_OPTS" -- --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 display-message -p "#S")/d" )'
	)
fi

if [ "$#" -eq 0 ]; then
	exit 1
fi

if [ -z "$TMUX" ]; then
	tmux attach-session -t "$1"
else
	tmux switch-client -t "$1"
fi