From 99a86df53f30ae4008f464bce513550d887519d6 Mon Sep 17 00:00:00 2001 From: Daniel Flanagan Date: Sat, 7 Apr 2018 14:16:18 -0500 Subject: [PATCH] Better tmux session list --- scripts/bin/tmux-session-list | 29 ++++++++++++++++++----------- shell/tmux.conf | 4 ++-- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/scripts/bin/tmux-session-list b/scripts/bin/tmux-session-list index bf3f887..dedb860 100755 --- a/scripts/bin/tmux-session-list +++ b/scripts/bin/tmux-session-list @@ -1,7 +1,9 @@ #!/usr/bin/env bash +ANY_SESSION_PREFIX="#[bg=colour18]#[fg=colour7]" CUR_SESSION_PREFIX="#[bg=colour4]#[fg=colour0]" -CUR_SESSION_SUFFIX="#[bg=default]#[fg=default]" +ANY_SESSION_SUFFIX="#[bg=default]#[fg=default] " +CUR_SESSION_SUFFIX="${ANY_SESSION_SUFFIX}" CUR_TMUX_SESSION="$1" if [ -z "$1" ]; then @@ -9,14 +11,19 @@ if [ -z "$1" ]; then fi export CUR_TMUX_SESSION -TMUX_SESSION_LIST="$(tmux list-sessions | sed -ne 's/^\([^:]*\).*$/ \1 /p' | tr -d '\n')" +TMUX_SESSION_LIST="$(tmux list-sessions | awk \ + -v cursesh="${CUR_TMUX_SESSION}" \ + -v aspre="${ANY_SESSION_PREFIX}" \ + -v assuf="${ANY_SESSION_SUFFIX}" \ + -v cspre="${CUR_SESSION_PREFIX}" \ + -v cssuf="${CUR_SESSION_SUFFIX}" \ +'{ +s=substr($1,0,length($1)-1); +if(s==cursesh){ + s=cspre" "s" "cssuf +}else{ + s=aspre" "s" "assuf +}printf s +}')" -HIGHLIGHT_CUR_SESSION="${TMUX_SESSION_LIST/ $CUR_TMUX_SESSION /${CUR_SESSION_PREFIX} ${CUR_TMUX_SESSION} ${CUR_SESSION_SUFFIX}}" - -# ADD_END_SPACE_IF_NECESSARY=$(echo "$HIGHLIGHT_CUR_SESSION" | sed -e 's/\([^]]\)$/\ /p') -# REMOVE_START_SPACE_IF_NECESSARY=$(echo "$HIGHLIGHT_CUR_SESSION" | sed 's/^ #/#/') -REMOVE_START_SPACE_IF_NECESSARY=${HIGHLIGHT_CUR_SESSION/^ \#/\#/} - -# echo "cursess: $CUR_TMUX_SESSION -- sesslist: $TMUX_SESSION_LIST -- withhili: $HIGHLIGHT_CUR_SESSION -- cutspace: $REMOVE_START_SPACE_IF_NECESSARY -- argv1: $1 -- TMUX: $TMUX" >> ~/.tmux.log - -echo "$REMOVE_START_SPACE_IF_NECESSARY" +echo "${TMUX_SESSION_LIST}" diff --git a/shell/tmux.conf b/shell/tmux.conf index 035505f..09686b2 100644 --- a/shell/tmux.conf +++ b/shell/tmux.conf @@ -51,8 +51,8 @@ set -g status-right-length 20 set -g status-interval 1 # set status-interval 1 -set -g status-left '#(#{DOTFILES_PATH}/scripts/bin/tmux-session-list #S)' -set -g status-left-length 80 +set -g status-left '#(#{DOTFILES_PATH}/scripts/bin/tmux-session-list #S)#[fg=colour18]#[bg=default]|#[fg=colour7] #W' +set -g status-left-length 200 setw -g window-status-current-fg colour7 setw -g window-status-current-bg colour2