tmux kill session mapping
This commit is contained in:
parent
ba786afab4
commit
d82b59a56d
@ -1,6 +1,6 @@
|
|||||||
declare -r -A TARGETS=(
|
declare -r -A TARGETS=(
|
||||||
["colors"]=".config/terminal-colors.d"
|
["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"
|
["bash"]=".config/bash .bashrc .profile %tmux %colors"
|
||||||
["zsh"]="%bash .config/zsh .zshenv .inputrc"
|
["zsh"]="%bash .config/zsh .zshenv .inputrc"
|
||||||
["alacritty"]=".config/alacritty"
|
["alacritty"]=".config/alacritty"
|
||||||
|
|||||||
@ -190,5 +190,6 @@ bind -T copy-mode-vi WheelDownPane select-pane \; send-keys -X -N 2 scroll-down
|
|||||||
|
|
||||||
|
|
||||||
# Session managment
|
# Session managment
|
||||||
bind s display-popup -EE -w 80% -h 80% -T 'Attach existing session' '~/.local/bin/tmux_choose_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 new session' '~/.local/bin/tmux_start_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'
|
||||||
@ -5,7 +5,7 @@ export FZF_DEFAULT_OPTS="\
|
|||||||
--cycle \
|
--cycle \
|
||||||
--pointer='' \
|
--pointer='' \
|
||||||
--marker='+' \
|
--marker='+' \
|
||||||
--color='pointer:green' \
|
--color='pointer:blue,prompt:blue' \
|
||||||
--bind \
|
--bind \
|
||||||
ctrl-/:toggle-preview,\
|
ctrl-/:toggle-preview,\
|
||||||
ctrl-p:preview-up,\
|
ctrl-p:preview-up,\
|
||||||
38
home/user/.local/bin/tmux_kill_session.sh
Executable file
38
home/user/.local/bin/tmux_kill_session.sh
Executable 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
|
||||||
@ -5,7 +5,7 @@ export FZF_DEFAULT_OPTS="\
|
|||||||
--cycle \
|
--cycle \
|
||||||
--pointer='' \
|
--pointer='' \
|
||||||
--marker='+' \
|
--marker='+' \
|
||||||
--color='pointer:green' \
|
--color='pointer:green,prompt:green' \
|
||||||
--bind \
|
--bind \
|
||||||
ctrl-/:toggle-preview,\
|
ctrl-/:toggle-preview,\
|
||||||
ctrl-p:preview-up,\
|
ctrl-p:preview-up,\
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user