diff --git a/sh/tmux.sh b/sh/tmux.sh index d7f1635..5285186 100644 --- a/sh/tmux.sh +++ b/sh/tmux.sh @@ -18,13 +18,25 @@ rwx_tmux_server() { --fields \"1\" } rwx_tmux_servers() { - local server=\"\$(rwx_tmux_server)\" - lsof -U | - awk \"/^tmux:.*\\(LISTEN\\)\\\$/ {print \\\$9}\" | - xargs -n \"1\" basename | - sed \"s/^/#[fg=yellow]#[bg=##181818] #[bg=##282828]/\\ -;s/\$/#[bg=##181818] #[fg=default]#[bg=default] /\" | - xargs echo + local active=\"\$(rwx_tmux_server)\" + local ifs=\"\${IFS}\" + local name path text + IFS=\" +\" + for path in \$(lsof -U | awk \"/^tmux:.*\\(LISTEN\\)\$/ {print \$9}\"); do + name=\"\$(basename \"\${path}\")\" + if [ \"\${active}\" = \"\${name}\" ]; then + text=\"\${text}#[fg=green]\" + else + text=\"\${text}#[fg=yellow]\" + fi + text=\"\${text}\\ +#[bg=##181818] #[bg=##282828]\\ +\${name}\\ +#[bg=##181818] #[bg=default]#[fg=default] \" + done + IFS=\"\${ifs}\" + echo \"\${text}\" } " rwx_file_write "${file}" "\ @@ -154,10 +166,6 @@ set-option -g status-format[1] '\ set-option -g status-format[2] '\ #[fg=yellow]\ #(sh -c \". ${script}; rwx_tmux_servers\")\ -#[bg=default]\ -#[fg=default] \ -#[fg=white]@\ -#[fg=default] \ #[fg=cyan]#{pane_current_path}\ '