diff --git a/sh/tmux.sh b/sh/tmux.sh index 3349144..8c5770a 100644 --- a/sh/tmux.sh +++ b/sh/tmux.sh @@ -7,8 +7,40 @@ # ╰──────┴───────╯ rwx_tmux_setup() { - local file + local file script file="${HOME}/.tmux.conf" + script="${HOME}/.tmux.sh" + rwx_file_write "${script}" "\ +rwx_tmux_server() { + basename \"\${TMUX}\" | + cut \\ + --delimiter \",\" \\ + --fields \"1\" +} +rwx_tmux_servers() { + local active=\"\$(rwx_tmux_server)\" + local ifs=\"\${IFS}\" + local name path text + local paths=\"\$(lsof -U | + awk \"/^tmux:.*\\(LISTEN\\)\$/ {print \\\$9}\")\" + IFS=\" +\" + for path in \${paths}; 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}" "\ # ╭────────╮ # │ option │ @@ -51,13 +83,13 @@ set-option -g set-titles on # set title to working directory set-option -g set-titles-string '\ -#(basename \"\${TMUX}\" | cut --delimiter \",\" --fields \"1\")\ +#(sh -c \". ${script}; rwx_tmux_server\")\ → \ #{session_name}\ → \ -#{window_index}∕#{session_windows} #{window_name}\ +#{window_name} (#{window_index}∕#{session_windows})\ → \ -#{pane_index}∕#{window_panes} #{pane_current_command}\ +#{pane_current_command} (#{pane_index}∕#{window_panes})\ ' # ╭────────┬──────╮ @@ -135,25 +167,7 @@ set-option -g status-format[1] '\ # line 3 set-option -g status-format[2] '\ #[fg=yellow]\ -#(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 \ -)\ -#[fg=default] \ -#[fg=white]→\ -#[fg=default] \ -#[fg=green]\ -#[bg=##181818] \ -#[bg=##282828]#(basename \"\${TMUX}\" \ -| cut --delimiter \",\" --fields \"1\")\ -#[bg=##181818] \ -#[bg=default]\ -#[fg=default] \ -#[fg=white]@\ -#[fg=default] \ +#(sh -c \". ${script}; rwx_tmux_servers\")\ #[fg=cyan]#{pane_current_path}\ '