summaryrefslogtreecommitdiff
path: root/tmuxsh/_tmux_bell,--.list.and.jump.to.window.with.bell.alert
blob: 6f711e6a537bf6049979a4573e94f0dde695a28e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/env sh
# AUTHOR: gotbletu (@gmail|twitter|youtube|github|lbry|odysee)
#         https://www.youtube.com/user/gotbletu
# NOTE:   simulate a bell alert on a window: $ sleep 3 && echo -e "\a"

# tmux list-pane formating
TARGET_SPEC="#{session_name}:#{window_id}:#{pane_id}:"
LIST_DATA="#{window_name} #{pane_title} #{window_bell_flag} #{pane_current_path} #{pane_current_command}"

FZF_COMMAND() {
  fzf -e -i --prompt="Go to bell alert pane: " --info=default --layout=reverse --tiebreak=index
}

# select pane
LINE="$(tmux list-panes -a -F "$TARGET_SPEC $LIST_DATA" | awk '$4 == "1" {print $0}' | FZF_COMMAND)" || exit 0
SESSION="$(echo "$LINE" |  cut -d ':' -f1)"
WINDOW_NUM="$(echo "$LINE" |  cut -d ':' -f2)"
PANE_NUM="$(echo "$LINE" |  cut -d ':' -f3)"

tmux select-pane -t "$PANE_NUM" && tmux select-window -t "$WINDOW_NUM" && tmux switch-client -t "$SESSION"