diff --git a/abmux.sh b/abmux.sh index 7f8585f..0af3c2e 100755 --- a/abmux.sh +++ b/abmux.sh @@ -2,9 +2,17 @@ # abmux: a simple terminal session switcher on top of abduco, fzf and expect # Created by Luxferre in 2026, released into the public domain +SPFILE="$HOME/.absess" +touch "$SPFILE" +if [ -z "$(abduco | tail -n +2)" ]; then + cat "$SPFILE" | while read -r sess; do + abduco -n "$sess" $SHELL + done +fi FTR='Select a session or create a new one' while true; do - slist="$(abduco | tail -n +2 | cut -f 3 | nl -nln -w1 -s' - ')" + abduco | tail -n +2 | cut -f 3 | sort -u > "$SPFILE" + slist="$(nl -nln -w1 -s' - ' "$SPFILE")" sname="$(printf '%s\nNew\nQuit\n' "${slist}" | grep . | fzf --tac --footer="$FTR")" [ "$sname" = 'Quit' ] && break [ "$sname" = 'New' ] && read -r -p 'New session name: ' sname