diff options
author | Cody Hiar <cody@hiar.ca> | 2021-02-01 13:59:10 -0700 |
---|---|---|
committer | Cody Hiar <cody@hiar.ca> | 2021-02-01 13:59:10 -0700 |
commit | 722b0362df859e6524a26c2120e88be1518d0277 (patch) | |
tree | 836ccbe771193f7a9e711dc5859057716cb130ef /scripts | |
parent | 8866483844e64543a652590e2ec9aa40a5bb6ef4 (diff) |
Session select script update
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/tmux_session_fzf | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/scripts/tmux_session_fzf b/scripts/tmux_session_fzf new file mode 100755 index 0000000..c093468 --- /dev/null +++ b/scripts/tmux_session_fzf @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +# vim: set filetype=sh +# +# Author: Cody Hiar +# Date: 2020-03-17 +# +# Description: Select a tmux session with FZF +# +# Set options: +# e: Stop script if command fails +# u: Stop script if unset variable is referenced +# x: Debug, print commands as they are executed +# o pipefail: If any command in a pipeline fails it all fails +# +# IFS: Internal Field Separator +set -euo pipefail +IFS=$'\n\t' + +get_active_pane(){ + local SESSION="${1}" + tmux list-windows -t "${SESSION}" | grep '(active)' | cut -c 1 +} + +TARGET=$(tmux ls | awk -F':' '{print $1}' | fzf-tmux -h) +if [[ -n "${TARGET}" ]]; then + WINDOW=$(get_active_pane "${TARGET}") + echo "${TARGET}:${WINDOW}" >> ~/tmux.log + tmux switch-client -t "${TARGET}:${WINDOW}" +fi |