3 files changed,
14 insertions(+),
13 deletions(-)
Author:
Oleksandr Smirnov
olexsmir@gmail.com
Committed at:
2026-02-09 18:04:17 +0200
Authored at:
2026-02-09 16:59:43 +0200
Change ID:
zpwxmntuusnvnqlvummksrrkzxrmlpnm
Parent:
2435b5e
jump to
| M | scripts/helpers.sh |
| M | scripts/pick.sh |
| M | scripts/sessions.sh |
M
scripts/helpers.sh
··· 33 33 } 34 34 35 35 # === spiner 36 -# TODO: use one of those briael fonts 36 +# TODO: use one of those briael fonts 37 37 new_spinner() { 38 38 local current=0 39 39 local -r chars="/-\|" ··· 53 53 kill "$SPINNER_PID" 54 54 tmux display-message "$1" 55 55 } 56 - 57 -get_current_session_name() { 58 - if [ "$(tmux display-message -p "#{session_grouped}")" = 0 ]; then 59 - tmux display-message -p "#{session_name}" 2>/dev/null || true 60 - else 61 - tmux display-message -p "#{session_group}" 2>/dev/null || true 62 - fi 63 -}
M
scripts/pick.sh
··· 4 4 source "$CURRENT_DIR/sessions.sh" 5 5 6 6 get_all_sessions() { 7 - local current_session="$1" 7 + local current_session="$(get_current_session_name)" 8 8 local save_dir="$(get_opt_dir)" 9 9 local -A seen 10 10 ··· 40 40 } 41 41 42 42 pick() { 43 - local selected=$(get_all_sessions "$(get_current_session_name)" | fzf \ 43 + local selected=$(get_all_sessions | fzf \ 44 44 --footer="C-x: unload/kill | C-r: rename | C-o: new" \ 45 45 --bind "ctrl-x:execute($0 unload {})+reload($0 list)" \ 46 46 --bind "ctrl-r:execute($0 rename {})+reload($0 list)" \ ··· 73 73 local session_file="$save_dir/${session_name}_last" 74 74 75 75 local result 76 - result=$(printf "Delete\nCancel" | fzf --header="Delete saved session '$session_name'?") 76 + result=$(printf "Cancel\nDelete" | fzf --header="Delete saved session '$session_name'?") 77 77 if [[ "$result" == "Delete" ]]; then 78 78 rm -f "$session_file" 79 79 fi ··· 105 105 unload) unload_or_kill "$2" ;; 106 106 rename) rename "$2" ;; 107 107 new) new_session ;; 108 - list) get_all_sessions "$(get_current_session_name)" ;; 108 + list) get_all_sessions ;; 109 109 esac 110 110 } 111 111 main "$@"
M
scripts/sessions.sh
··· 4 4 5 5 declare S=$'\t' 6 6 7 +# === common 8 +get_current_session_name() { 9 + if [ "$(tmux display-message -p "#{session_grouped}")" = 0 ]; then 10 + tmux display-message -p "#{session_name}" 2>/dev/null || true 11 + else 12 + tmux display-message -p "#{session_group}" 2>/dev/null || true 13 + fi 14 +} 15 + 7 16 rename_session() { 8 17 local old="$1" 9 18 local new="$2"