From 7519995398d633565c55db4658edaf68a7270206 Mon Sep 17 00:00:00 2001 From: thek4n Date: Fri, 6 Mar 2026 13:28:30 +0300 Subject: [PATCH] fix(tmux): refactor --- home/user/.config/tmux/mappings.conf | 7 +++--- ...ux_attach_session.sh => attach_session.sh} | 5 ++-- .../user/.config/tmux/scripts/kill_session.sh | 7 ++++++ ...tmux_list_sessions.sh => list_sessions.sh} | 0 ...ux_start_projects.sh => start_projects.sh} | 0 ...tmux_start_session.sh => start_session.sh} | 0 .../tmux/scripts/tmux_kill_sessions.sh | 24 ------------------- 7 files changed, 13 insertions(+), 30 deletions(-) rename home/user/.config/tmux/scripts/{tmux_attach_session.sh => attach_session.sh} (75%) create mode 100755 home/user/.config/tmux/scripts/kill_session.sh rename home/user/.config/tmux/scripts/{tmux_list_sessions.sh => list_sessions.sh} (100%) rename home/user/.config/tmux/scripts/{tmux_start_projects.sh => start_projects.sh} (100%) rename home/user/.config/tmux/scripts/{tmux_start_session.sh => start_session.sh} (100%) delete mode 100755 home/user/.config/tmux/scripts/tmux_kill_sessions.sh diff --git a/home/user/.config/tmux/mappings.conf b/home/user/.config/tmux/mappings.conf index bda7b9a..b0f460e 100644 --- a/home/user/.config/tmux/mappings.conf +++ b/home/user/.config/tmux/mappings.conf @@ -214,7 +214,6 @@ bind-key f copy-mode \; send-keys -X search-backward \ # Session managment -bind a display-popup -EE -w 80% -h 80% -B '~/.config/tmux/scripts/tmux_attach_session.sh' -bind s display-popup -EE -w 80% -h 80% -B '~/.config/tmux/scripts/tmux_start_session.sh' -bind S display-popup -EE -w 40% -h 80% -B '~/.config/tmux/scripts/tmux_start_projects.sh' -bind k display-popup -EE -w 80% -h 80% -B '~/.config/tmux/scripts/tmux_kill_sessions.sh' +bind a display-popup -EE -w 80% -h 80% -B '~/.config/tmux/scripts/attach_session.sh' +bind s display-popup -EE -w 80% -h 80% -B '~/.config/tmux/scripts/start_session.sh' +bind S display-popup -EE -w 40% -h 80% -B '~/.config/tmux/scripts/start_projects.sh' diff --git a/home/user/.config/tmux/scripts/tmux_attach_session.sh b/home/user/.config/tmux/scripts/attach_session.sh similarity index 75% rename from home/user/.config/tmux/scripts/tmux_attach_session.sh rename to home/user/.config/tmux/scripts/attach_session.sh index 5057dd4..f1323f5 100755 --- a/home/user/.config/tmux/scripts/tmux_attach_session.sh +++ b/home/user/.config/tmux/scripts/attach_session.sh @@ -1,7 +1,8 @@ #!/bin/sh -readonly tmux_list_sessions_script="${HOME}/.config/tmux/scripts/tmux_list_sessions.sh" +readonly tmux_list_sessions_script="${HOME}/.config/tmux/scripts/list_sessions.sh" +readonly tmux_kill_session_script="${HOME}/.config/tmux/scripts/kill_session.sh" export FZF_DEFAULT_OPTS="\ ${FZF_DEFAULT_OPTS} @@ -14,7 +15,7 @@ ${FZF_DEFAULT_OPTS} --preview-window=follow --preview='tmux capture-pane -p -e -t {1}' --bind -ctrl-x:execute\(tmux\ kill-session\ -t\ {1}\)+reload\(${tmux_list_sessions_script}\),\ +ctrl-x:execute\(${tmux_kill_session_script}\ {1}\)+reload\(${tmux_list_sessions_script}\),\ load:reload\(${tmux_list_sessions_script}\;sleep\ 1\)\ " diff --git a/home/user/.config/tmux/scripts/kill_session.sh b/home/user/.config/tmux/scripts/kill_session.sh new file mode 100755 index 0000000..4b3959a --- /dev/null +++ b/home/user/.config/tmux/scripts/kill_session.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +if [ "${1}" = "landing" ]; then + exit 0 +fi + +tmux kill-session -t "${1}" diff --git a/home/user/.config/tmux/scripts/tmux_list_sessions.sh b/home/user/.config/tmux/scripts/list_sessions.sh similarity index 100% rename from home/user/.config/tmux/scripts/tmux_list_sessions.sh rename to home/user/.config/tmux/scripts/list_sessions.sh diff --git a/home/user/.config/tmux/scripts/tmux_start_projects.sh b/home/user/.config/tmux/scripts/start_projects.sh similarity index 100% rename from home/user/.config/tmux/scripts/tmux_start_projects.sh rename to home/user/.config/tmux/scripts/start_projects.sh diff --git a/home/user/.config/tmux/scripts/tmux_start_session.sh b/home/user/.config/tmux/scripts/start_session.sh similarity index 100% rename from home/user/.config/tmux/scripts/tmux_start_session.sh rename to home/user/.config/tmux/scripts/start_session.sh diff --git a/home/user/.config/tmux/scripts/tmux_kill_sessions.sh b/home/user/.config/tmux/scripts/tmux_kill_sessions.sh deleted file mode 100755 index 80453c4..0000000 --- a/home/user/.config/tmux/scripts/tmux_kill_sessions.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - - -readonly tmux_list_sessions_script="${HOME}/.config/tmux/scripts/tmux_list_sessions.sh" - -export FZF_DEFAULT_OPTS="\ -${FZF_DEFAULT_OPTS} ---multi ---border=rounded ---border-label-pos=bottom ---border-label=' Kill sessions ' ---color='border:red,label:red' ---preview-window=follow ---preview='tmux capture-pane -p -e -t {1}' ---bind -ctrl-x:execute\(tmux\ kill-session\ -t\ {1}\)+reload\(${tmux_list_sessions_script}\)\ -" - -sessions_to_kill="$(~/.config/tmux/scripts/tmux_list_sessions.sh | fzf | 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