diff options
Diffstat (limited to 'tmuxsh/_tmux_find_panes,--.search.all.panes.and.jump')
-rwxr-xr-x | tmuxsh/_tmux_find_panes,--.search.all.panes.and.jump | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tmuxsh/_tmux_find_panes,--.search.all.panes.and.jump b/tmuxsh/_tmux_find_panes,--.search.all.panes.and.jump new file mode 100755 index 0000000..787d9a6 --- /dev/null +++ b/tmuxsh/_tmux_find_panes,--.search.all.panes.and.jump @@ -0,0 +1,22 @@ +#!/usr/bin/env sh +# AUTHOR: gotbletu (@gmail|twitter|youtube|github|lbry|odysee) +# https://www.youtube.com/user/gotbletu +# REFF: https://gist.github.com/thugcee/41d1ba786fa5e66167ed6ee45e4f6346 +# https://eioki.eu/2021/01/12/tmux-and-fzf-fuzzy-tmux-session-window-pane-switcher +# CLOG: changed from bash to posix + +# tmux list-pane formating +TARGET_SPEC="#{session_name}:#{window_id}:#{pane_id}:" +LIST_DATA="#{window_name} #{pane_title} #{pane_current_path} #{pane_current_command}" + +FZF_COMMAND() { + fzf -e -i --prompt="Select a pane: " --info=default --layout=reverse --tiebreak=index +} + +# select pane +LINE="$(tmux list-panes -a -F "$TARGET_SPEC $LIST_DATA" | 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" |