tmux kill session mapping

This commit is contained in:
thek4n 2024-10-25 09:42:08 +03:00
parent ba786afab4
commit d82b59a56d
5 changed files with 44 additions and 5 deletions

View File

@ -1,6 +1,6 @@
declare -r -A TARGETS=(
["colors"]=".config/terminal-colors.d"
["tmux"]=".config/tmux .tmux .config/systemd/user/tmux.service .local/bin/tmux_start_session.sh .local/bin/tmux_attach_session.sh .local/bin/tmux_choose_session.sh"
["tmux"]=".config/tmux .tmux .config/systemd/user/tmux.service .local/bin/tmux_start_session.sh .local/bin/tmux_attach_session.sh .local/bin/tmux_choose_session.sh .local/bin/tmux_kill_session.sh"
["bash"]=".config/bash .bashrc .profile %tmux %colors"
["zsh"]="%bash .config/zsh .zshenv .inputrc"
["alacritty"]=".config/alacritty"

View File

@ -190,5 +190,6 @@ bind -T copy-mode-vi WheelDownPane select-pane \; send-keys -X -N 2 scroll-down
# Session managment
bind s display-popup -EE -w 80% -h 80% -T 'Attach existing session' '~/.local/bin/tmux_choose_session.sh'
bind a display-popup -EE -w 80% -h 80% -T 'Start new session' '~/.local/bin/tmux_start_session.sh'
bind s display-popup -EE -w 80% -h 80% -T 'Attach session' '~/.local/bin/tmux_attach_session.sh'
bind a display-popup -EE -w 80% -h 80% -T 'Start session' '~/.local/bin/tmux_start_session.sh'
bind f display-popup -EE -w 80% -h 80% -T 'Kill session' '~/.local/bin/tmux_kill_session.sh'

View File

@ -5,7 +5,7 @@ export FZF_DEFAULT_OPTS="\
--cycle \
--pointer='' \
--marker='+' \
--color='pointer:green' \
--color='pointer:blue,prompt:blue' \
--bind \
ctrl-/:toggle-preview,\
ctrl-p:preview-up,\

View File

@ -0,0 +1,38 @@
#!/usr/bin/env bash
export FZF_DEFAULT_OPTS="\
--cycle \
--pointer='' \
--marker='+' \
--color='pointer:red,prompt:red' \
--bind \
ctrl-/:toggle-preview,\
ctrl-p:preview-up,\
ctrl-n:preview-down,\
ctrl-u:clear-query,\
ctrl-q:toggle+down\
"
declare current_session
current_session="$(tmux display-message -p '#S')"
readonly current_session
declare last_session
last_session="$(tmux display-message -p '#{client_last_session}')"
readonly last_session
declare sessions
sessions="$(tmux list-session -F '#S#{?session_attached, (attached) , }')"
sessions="$(echo "${sessions}" | sed "s/^${current_session} /${current_session} (current) /")"
sessions="$(echo "${sessions}" | sed "s/^${last_session} /${last_session} (last) /")"
readonly sessions
declare sessions_to_kill
sessions_to_kill="$(echo "${sessions}" | fzf -m --preview-window 70%,follow --preview 'tmux capture-pane -p -e -t {1}' | awk '{printf $1"\n"}')"
readonly sessions_to_kill
if [[ -n "${sessions_to_kill}" ]]; then
echo "${sessions_to_kill}" | xargs -n 1 tmux kill-session -t
fi

View File

@ -5,7 +5,7 @@ export FZF_DEFAULT_OPTS="\
--cycle \
--pointer='' \
--marker='+' \
--color='pointer:green' \
--color='pointer:green,prompt:green' \
--bind \
ctrl-/:toggle-preview,\
ctrl-p:preview-up,\