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

if [ "$#" -eq 0 ]; then
	ATTACHED=$(tmux display -p '#S' 2>/dev/null)

	# shellcheck disable=2016,2046
	set -- $(
		sshr -t -L "default" --exclude="$ATTACHED" |
			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 0
fi

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