From 4aee919b20487761393ef6665fe357a4d92eb63c Mon Sep 17 00:00:00 2001 From: Mari Date: Mon, 19 Jul 2021 16:52:52 -0400 Subject: [PATCH] Get pretty colors for tmux based on which host it is --- .gitmodules | 3 + bash/bash_tmux.sh | 1 - per-host/costadelsol/.tmux.conf | 2 +- per-host/costadelsol/.tmux.conf.local | 1 + per-host/crystarium/.tmux.conf | 2 +- per-host/crystarium/.tmux.conf.local | 1 + per-host/goldsaucer/.tmux.conf | 2 +- per-host/goldsaucer/.tmux.conf.local | 1 + per-host/gubal/.tmux.conf | 2 +- per-host/gubal/.tmux.conf.local | 1 + per-host/mordhona/.tmux.conf | 2 +- per-host/mordhona/.tmux.conf.local | 1 + per-host/template/.tmux.conf | 2 +- per-host/template/.tmux.conf.local | 1 + tmux/oh-my-tmux | 1 + tmux/{tmux.screen.conf => screen.conf} | 7 + tmux/tmux.conf | 767 ++++++++++++++++++++++--- tmux/tmux.need-reboot.sh | 7 - tmux/tmux.status-helpers.sh | 29 - zsh/customizations/zsh_tmux.zsh | 1 - 20 files changed, 701 insertions(+), 133 deletions(-) mode change 100644 => 120000 per-host/costadelsol/.tmux.conf create mode 120000 per-host/costadelsol/.tmux.conf.local mode change 100644 => 120000 per-host/crystarium/.tmux.conf create mode 120000 per-host/crystarium/.tmux.conf.local mode change 100644 => 120000 per-host/goldsaucer/.tmux.conf create mode 120000 per-host/goldsaucer/.tmux.conf.local mode change 100644 => 120000 per-host/gubal/.tmux.conf create mode 120000 per-host/gubal/.tmux.conf.local mode change 100644 => 120000 per-host/mordhona/.tmux.conf create mode 120000 per-host/mordhona/.tmux.conf.local mode change 100644 => 120000 per-host/template/.tmux.conf create mode 120000 per-host/template/.tmux.conf.local create mode 160000 tmux/oh-my-tmux rename tmux/{tmux.screen.conf => screen.conf} (88%) delete mode 100755 tmux/tmux.need-reboot.sh delete mode 100644 tmux/tmux.status-helpers.sh diff --git a/.gitmodules b/.gitmodules index 1015002..b1846ad 100644 --- a/.gitmodules +++ b/.gitmodules @@ -46,3 +46,6 @@ [submodule "vim/bundle/typescript-vim"] path = vim/bundle/typescript-vim url = https://github.com/leafgarland/typescript-vim +[submodule "tmux/oh-my-tmux"] + path = tmux/oh-my-tmux + url = https://github.com/gpakosz/.tmux.git diff --git a/bash/bash_tmux.sh b/bash/bash_tmux.sh index 428e38f..3142daa 100644 --- a/bash/bash_tmux.sh +++ b/bash/bash_tmux.sh @@ -12,7 +12,6 @@ function tmux_running() { function tmux_init() { tmux -2 new-session -d -s "Nexus" -n "Misc." - tmux -2 new-window -d -t "Nexus:0" -n "Monitor" "htop" } function go_tmux () diff --git a/per-host/costadelsol/.tmux.conf b/per-host/costadelsol/.tmux.conf deleted file mode 100644 index 21ccc48..0000000 --- a/per-host/costadelsol/.tmux.conf +++ /dev/null @@ -1 +0,0 @@ -source $TMUX_CONF_DIR/tmux.conf diff --git a/per-host/costadelsol/.tmux.conf b/per-host/costadelsol/.tmux.conf new file mode 120000 index 0000000..00d8ae9 --- /dev/null +++ b/per-host/costadelsol/.tmux.conf @@ -0,0 +1 @@ +../../tmux/oh-my-tmux/.tmux.conf \ No newline at end of file diff --git a/per-host/costadelsol/.tmux.conf.local b/per-host/costadelsol/.tmux.conf.local new file mode 120000 index 0000000..8eab89f --- /dev/null +++ b/per-host/costadelsol/.tmux.conf.local @@ -0,0 +1 @@ +../../tmux/tmux.conf \ No newline at end of file diff --git a/per-host/crystarium/.tmux.conf b/per-host/crystarium/.tmux.conf deleted file mode 100644 index 21ccc48..0000000 --- a/per-host/crystarium/.tmux.conf +++ /dev/null @@ -1 +0,0 @@ -source $TMUX_CONF_DIR/tmux.conf diff --git a/per-host/crystarium/.tmux.conf b/per-host/crystarium/.tmux.conf new file mode 120000 index 0000000..00d8ae9 --- /dev/null +++ b/per-host/crystarium/.tmux.conf @@ -0,0 +1 @@ +../../tmux/oh-my-tmux/.tmux.conf \ No newline at end of file diff --git a/per-host/crystarium/.tmux.conf.local b/per-host/crystarium/.tmux.conf.local new file mode 120000 index 0000000..8eab89f --- /dev/null +++ b/per-host/crystarium/.tmux.conf.local @@ -0,0 +1 @@ +../../tmux/tmux.conf \ No newline at end of file diff --git a/per-host/goldsaucer/.tmux.conf b/per-host/goldsaucer/.tmux.conf deleted file mode 100644 index 21ccc48..0000000 --- a/per-host/goldsaucer/.tmux.conf +++ /dev/null @@ -1 +0,0 @@ -source $TMUX_CONF_DIR/tmux.conf diff --git a/per-host/goldsaucer/.tmux.conf b/per-host/goldsaucer/.tmux.conf new file mode 120000 index 0000000..00d8ae9 --- /dev/null +++ b/per-host/goldsaucer/.tmux.conf @@ -0,0 +1 @@ +../../tmux/oh-my-tmux/.tmux.conf \ No newline at end of file diff --git a/per-host/goldsaucer/.tmux.conf.local b/per-host/goldsaucer/.tmux.conf.local new file mode 120000 index 0000000..8eab89f --- /dev/null +++ b/per-host/goldsaucer/.tmux.conf.local @@ -0,0 +1 @@ +../../tmux/tmux.conf \ No newline at end of file diff --git a/per-host/gubal/.tmux.conf b/per-host/gubal/.tmux.conf deleted file mode 100644 index 21ccc48..0000000 --- a/per-host/gubal/.tmux.conf +++ /dev/null @@ -1 +0,0 @@ -source $TMUX_CONF_DIR/tmux.conf diff --git a/per-host/gubal/.tmux.conf b/per-host/gubal/.tmux.conf new file mode 120000 index 0000000..00d8ae9 --- /dev/null +++ b/per-host/gubal/.tmux.conf @@ -0,0 +1 @@ +../../tmux/oh-my-tmux/.tmux.conf \ No newline at end of file diff --git a/per-host/gubal/.tmux.conf.local b/per-host/gubal/.tmux.conf.local new file mode 120000 index 0000000..8eab89f --- /dev/null +++ b/per-host/gubal/.tmux.conf.local @@ -0,0 +1 @@ +../../tmux/tmux.conf \ No newline at end of file diff --git a/per-host/mordhona/.tmux.conf b/per-host/mordhona/.tmux.conf deleted file mode 100644 index 21ccc48..0000000 --- a/per-host/mordhona/.tmux.conf +++ /dev/null @@ -1 +0,0 @@ -source $TMUX_CONF_DIR/tmux.conf diff --git a/per-host/mordhona/.tmux.conf b/per-host/mordhona/.tmux.conf new file mode 120000 index 0000000..00d8ae9 --- /dev/null +++ b/per-host/mordhona/.tmux.conf @@ -0,0 +1 @@ +../../tmux/oh-my-tmux/.tmux.conf \ No newline at end of file diff --git a/per-host/mordhona/.tmux.conf.local b/per-host/mordhona/.tmux.conf.local new file mode 120000 index 0000000..8eab89f --- /dev/null +++ b/per-host/mordhona/.tmux.conf.local @@ -0,0 +1 @@ +../../tmux/tmux.conf \ No newline at end of file diff --git a/per-host/template/.tmux.conf b/per-host/template/.tmux.conf deleted file mode 100644 index 21ccc48..0000000 --- a/per-host/template/.tmux.conf +++ /dev/null @@ -1 +0,0 @@ -source $TMUX_CONF_DIR/tmux.conf diff --git a/per-host/template/.tmux.conf b/per-host/template/.tmux.conf new file mode 120000 index 0000000..00d8ae9 --- /dev/null +++ b/per-host/template/.tmux.conf @@ -0,0 +1 @@ +../../tmux/oh-my-tmux/.tmux.conf \ No newline at end of file diff --git a/per-host/template/.tmux.conf.local b/per-host/template/.tmux.conf.local new file mode 120000 index 0000000..8eab89f --- /dev/null +++ b/per-host/template/.tmux.conf.local @@ -0,0 +1 @@ +../../tmux/tmux.conf \ No newline at end of file diff --git a/tmux/oh-my-tmux b/tmux/oh-my-tmux new file mode 160000 index 0000000..ed0b83a --- /dev/null +++ b/tmux/oh-my-tmux @@ -0,0 +1 @@ +Subproject commit ed0b83a1184929ec967921d0db6bb0c4e6e9a2c5 diff --git a/tmux/tmux.screen.conf b/tmux/screen.conf similarity index 88% rename from tmux/tmux.screen.conf rename to tmux/screen.conf index 8763b07..7ca04de 100644 --- a/tmux/tmux.screen.conf +++ b/tmux/screen.conf @@ -2,15 +2,22 @@ set-option -g prefix C-a # send prefix with a +set -gu prefix2 unbind C-b bind a send-prefix +unbind p +bind p previous-window +unbind n +bind n next-window + # move to last window with Ctrl-A unbind l bind C-a last-window # rename window with A unbind , +unbind A bind A command-prompt "rename-window '%%'" # also create windows with Ctrl-C diff --git a/tmux/tmux.conf b/tmux/tmux.conf index 5e65384..82fec11 100644 --- a/tmux/tmux.conf +++ b/tmux/tmux.conf @@ -1,92 +1,681 @@ -############## -# Key Bindings -############## -set-option -g status-keys emacs -set-window-option -g mode-keys vi -set-window-option -g xterm-keys on -bind-key _ split-window -v -source-file $TMUX_CONF_DIR/tmux.screen.conf -set-option -g mouse on -bind c new-window -c "#{pane_current_path}" -bind '_' split-window -v -c "#{pane_current_path}" -bind % split-window -h -c "#{pane_current_path}" - -##################### -# Terminal Properties -##################### -set-option -g default-shell /bin/zsh -set-option -sga terminal-overrides ',xterm*:Tc' -set-option -sga terminal-overrides ',screen*:Tc' -set-option -sga terminal-overrides ',tmux*:Tc' -set-option -g default-terminal tmux-256color -set-option -sg escape-time 10 - -############################ -# Status/Title Configuration -############################ -set-option -g set-titles on -set-option -g set-titles-string "#S - #W (#I.#P) #T" -set-option -g status on -set-option -g status-justify left -set-option -g status-left "#h#($TMUX_STATUS_SCRIPT)" -set-option -g status-left-length 25 -set-option -g status-right "%b %d(%a) %H:%M #[bg=colour21]#S:#I.#P" -set-option -g status-interval 5 -set-window-option -g clock-mode-style 12 - -############# -# Colorscheme -############# -set-option -g message-style bg=colour15,fg=colour232 -set-option -g status-style bg=blue,fg=white -set-option -g status-left-style bg=colour51,fg=colour232,bold -set-option -g status-right-style bg=colour33,fg=colour15,bold -set-window-option -g window-status-current-style bg=blue,fg=white,bold - -############################# -# Misc Session/Global Options -############################# +# : << EOF +# https://github.com/gpakosz/.tmux +# (‑●‑●)> dual licensed under the WTFPL v2 license and the MIT license, +# without any warranty. +# Copyright 2012— Gregory Pakosz (@gpakosz). + + +# -- navigation ---------------------------------------------------------------- + +# if you're running tmux within iTerm2 +# - and tmux is 1.9 or 1.9a +# - and iTerm2 is configured to let option key act as +Esc +# - and iTerm2 is configured to send [1;9A -> [1;9D for option + arrow keys +# then uncomment the following line to make Meta + arrow keys mapping work +#set -ga terminal-overrides "*:kUP3=\e[1;9A,*:kDN3=\e[1;9B,*:kRIT3=\e[1;9C,*:kLFT3=\e[1;9D" + + +# -- windows & pane creation --------------------------------------------------- + +# new window retains current path, possible values are: +# - true +# - false (default) +tmux_conf_new_window_retain_current_path=false + +# new pane retains current path, possible values are: +# - true (default) +# - false +tmux_conf_new_pane_retain_current_path=true + +# new pane tries to reconnect ssh sessions (experimental), possible values are: +# - true +# - false (default) +tmux_conf_new_pane_reconnect_ssh=false + +# prompt for session name when creating a new session, possible values are: +# - true +# - false (default) +tmux_conf_new_session_prompt=false + + +# -- display ------------------------------------------------------------------- + +# RGB 24-bit colour support (tmux >= 2.2), possible values are: +# - true +# - false (default) +tmux_conf_24b_colour=true + +reya_theme_name="default" + +%if "#{==:#{host_short},costadelsol}" +reya_theme_name="costadelsol" +# costa del sol theme +# Foreground for messages/tmux commands and any mode decorations (e.g., the line counter in scrollback). +# Background for the vi-style command line (when set-option -g status-keys vi) and the overall status lines. +tmux_conf_theme_colour_1="#0e232f" # deep ocean blue +# Foreground for the pane borders. +# Background for the status of the window that was last used, as well as the focused pane (if focused pane colors are enabled). +tmux_conf_theme_colour_2="#723b09" # dock-plank brown +# Foreground for the status line and the status of normal (non-active, non-last-used) windows. +tmux_conf_theme_colour_3="#c5b279" # sandy gray +# Foreground for the active pane's border, the pane indicators, the clock, and the last window in the status bar. +# Background for the current window in the status bar. +tmux_conf_theme_colour_4="#67a1cf" # sky blue +# Foreground for the vi-style command line and the status of belled windows. +# Background for the tmux command line and mode decorations. +tmux_conf_theme_colour_5="#ffe18a" # yellow +# Foreground for the first from the left status segment. +tmux_conf_theme_colour_6="#080808" # dark gray +# Foreground for the second from the left status segment. +tmux_conf_theme_colour_7="#e4e4e4" # white +# Foreground for the [REBOOT] alert in the first status segment +tmux_conf_theme_colour_8="#e40808" # red +# Background for the first from the left status segment. +tmux_conf_theme_colour_9="#ffe18a" # beachy sand +# Background for the second from the left status segment. +tmux_conf_theme_colour_10="#3179a2" # ocean blue +# Foreground for the [ROOT] alert in the second status segment +tmux_conf_theme_colour_11="#f98b8b" # light coral +# Foreground for the third from the right status segment. +tmux_conf_theme_colour_12="#e4e4e4" # white +# Foreground for the second from the right status segment. +tmux_conf_theme_colour_13="#080808" # dark gray +# Foreground for the first from the right status segment. +tmux_conf_theme_colour_14="#e4e4e4" # white +# Background for the third from the right status segment. +tmux_conf_theme_colour_15="#3179a2" # ocean blue +# Background for the second from the right status segment. +tmux_conf_theme_colour_16="#ffe18a" # beachy sand +# Background for the first from the right status segment. +tmux_conf_theme_colour_17="#566610" # grassy green +# battery bar palette, possible values are: +# - gradient (default) +# - heat +# - "colour_full_fg,colour_empty_fg,colour_bg" +tmux_conf_battery_bar_palette="#ffe18a,#3179a2,none" +#tmux_conf_battery_bar_palette="#d70000,#e4e4e4,#000000" # red, white, black +%endif +%if "#{==:#{host_short},crystarium}" +reya_theme_name="crystarium" +# crystarium theme +# Foreground for messages/tmux commands and any mode decorations (e.g., the line counter in scrollback). +# Background for the vi-style command line (when set-option -g status-keys vi) and the overall status lines. +tmux_conf_theme_colour_1="#ffe3d6" # eternal light white +# Foreground for the pane borders. +# Background for the status of the window that was last used, as well as the focused pane (if focused pane colors are enabled). +tmux_conf_theme_colour_2="#f0b793" # clouded sky tan +# Foreground for the status line and the status of normal (non-active, non-last-used) windows. +tmux_conf_theme_colour_3="#080808" # dark gray +# Foreground for the active pane's border, the pane indicators, the clock, and the last window in the status bar. +# Background for the current window in the status bar. +tmux_conf_theme_colour_4="#486670" # glass building turquoise +# Foreground for the vi-style command line and the status of belled windows. +# Background for the tmux command line and mode decorations. +tmux_conf_theme_colour_5="#ab26ba" # lakeland dark purple +# Foreground for the first from the left status segment. +tmux_conf_theme_colour_6="#e4e4e4" # white +# Foreground for the second from the left status segment. +tmux_conf_theme_colour_7="#080808" # dark gray +# Foreground for the [REBOOT] alert in the first status segment +tmux_conf_theme_colour_8="#620404" # blood red +# Background for the first from the left status segment. +tmux_conf_theme_colour_9="#d262df" # lakeland purple +# Background for the second from the left status segment. +tmux_conf_theme_colour_10="#eeab81" # cloudless sky tan +# Foreground for the [ROOT] alert in the second status segment +tmux_conf_theme_colour_11="#e40808" # red +# Foreground for the third from the right status segment. +tmux_conf_theme_colour_12="#080808" # dark gray +# Foreground for the second from the right status segment. +tmux_conf_theme_colour_13="#080808" # dark gray +# Foreground for the first from the right status segment. +tmux_conf_theme_colour_14="#e4e4e4" # white +# Background for the third from the right status segment. +tmux_conf_theme_colour_15="#b5dfef" # crystal tower blue +# Background for the second from the right status segment. +tmux_conf_theme_colour_16="#7097a4" # glass building blue +# Background for the first from the right status segment. +tmux_conf_theme_colour_17="#d262df" # lakeland purple +# battery bar palette, possible values are: +# - gradient (default) +# - heat +# - "colour_full_fg,colour_empty_fg,colour_bg" +tmux_conf_battery_bar_palette="#42765d,#e40808,none" +#tmux_conf_battery_bar_palette="#d70000,#e4e4e4,#000000" # red, white, black +%endif +%if "#{==:#{host_short},goldsaucer}" +reya_theme_name="goldsaucer" +# gold saucer theme +# Foreground for messages/tmux commands and any mode decorations (e.g., the line counter in scrollback). +# Background for the vi-style command line (when set-option -g status-keys vi) and the overall status lines. +tmux_conf_theme_colour_1="#a2010e" # red as in carpets +# Foreground for the pane borders. +# Background for the status of the window that was last used, as well as the focused pane (if focused pane colors are enabled). +tmux_conf_theme_colour_2="#080808" # bunnygirl black +# Foreground for the status line and the status of normal (non-active, non-last-used) windows. +tmux_conf_theme_colour_3="#f8f8f8" # white +# Foreground for the active pane's border, the pane indicators, the clock, and the last window in the status bar. +# Background for the current window in the status bar. +tmux_conf_theme_colour_4="#4ffe9d" # garish green +# Foreground for the vi-style command line and the status of belled windows. +# Background for the tmux command line and mode decorations. +tmux_conf_theme_colour_5="#ffeb7c" # yagony yellow +# Foreground for the first from the left status segment. +tmux_conf_theme_colour_6="#080808" # white +# Foreground for the second from the left status segment. +tmux_conf_theme_colour_7="#080808" # dark gray +# Foreground for the [REBOOT] alert in the first status segment +tmux_conf_theme_colour_8="#620404" # blood red +# Background for the first from the left status segment. +tmux_conf_theme_colour_9="#feb1f9" # yagony yellow +# Background for the second from the left status segment. +tmux_conf_theme_colour_10="#fe7883" # ridiculous red +# Foreground for the [ROOT] alert in the second status segment +tmux_conf_theme_colour_11="#620404" # blood red +# Foreground for the third from the right status segment. +tmux_conf_theme_colour_12="#080808" # dark gray +# Foreground for the second from the right status segment. +tmux_conf_theme_colour_13="#080808" # dark gray +# Foreground for the first from the right status segment. +tmux_conf_theme_colour_14="#080808" # dark gray +# Background for the third from the right status segment. +tmux_conf_theme_colour_15="#8afef9" # blinding blue +# Background for the second from the right status segment. +tmux_conf_theme_colour_16="#ffeb7c" # preposterous purple +# Background for the first from the right status segment. +tmux_conf_theme_colour_17="#4ffe9d" # garish green +# battery bar palette, possible values are: +# - gradient (default) +# - heat +# - "colour_full_fg,colour_empty_fg,colour_bg" +tmux_conf_battery_bar_palette="gradient" +#tmux_conf_battery_bar_palette="#d70000,#e4e4e4,#000000" # red, white, black +%endif +%if "#{==:#{host_short},gubal}" +reya_theme_name="gubal" +# great gubal library theme +# Foreground for messages/tmux commands and any mode decorations (e.g., the line counter in scrollback). +# Background for the vi-style command line (when set-option -g status-keys vi) and the overall status lines. +tmux_conf_theme_colour_1="#306d73" # gloomy library blue +# Foreground for the pane borders. +# Background for the status of the window that was last used, as well as the focused pane (if focused pane colors are enabled). +tmux_conf_theme_colour_2="#080808" # bunnygirl black +# Foreground for the status line and the status of normal (non-active, non-last-used) windows. +tmux_conf_theme_colour_3="#f8f8f8" # white +# Foreground for the active pane's border, the pane indicators, the clock, and the last window in the status bar. +# Background for the current window in the status bar. +tmux_conf_theme_colour_4="#83f7f6" # the color of mana (blue) +# Foreground for the vi-style command line and the status of belled windows. +# Background for the tmux command line and mode decorations. +tmux_conf_theme_colour_5="#ffeb7c" # owlish yellow +# Foreground for the first from the left status segment. +tmux_conf_theme_colour_6="#e4e4e4" # white +# Foreground for the second from the left status segment. +tmux_conf_theme_colour_7="#e4e4e4" # white +# Foreground for the [REBOOT] alert in the first status segment +tmux_conf_theme_colour_8="#f98b8b" # salmon pink +# Background for the first from the left status segment. +tmux_conf_theme_colour_9="#a55054" # dusty library carpet red +# Background for the second from the left status segment. +tmux_conf_theme_colour_10="#9e904c" # dirty shelves gold +# Foreground for the [ROOT] alert in the second status segment +tmux_conf_theme_colour_11="#620404" # blood red +# Foreground for the third from the right status segment. +tmux_conf_theme_colour_12="#e4e4e4" # white +# Foreground for the second from the right status segment. +tmux_conf_theme_colour_13="#e4e4e4" # white +# Foreground for the first from the right status segment. +tmux_conf_theme_colour_14="#e4e4e4" # white +# Background for the third from the right status segment. +tmux_conf_theme_colour_15="#a55054" # dusty libary carpet red +# Background for the second from the right status segment. +tmux_conf_theme_colour_16="#397962" # decaying green +# Background for the first from the right status segment. +tmux_conf_theme_colour_17="#4eacb5" # gloomy library window blue +# battery bar palette, possible values are: +# - gradient (default) +# - heat +# - "colour_full_fg,colour_empty_fg,colour_bg" +tmux_conf_battery_bar_palette="#83f7f6,#a55054,none" +#tmux_conf_battery_bar_palette="#d70000,#e4e4e4,#000000" # red, white, black +%endif +%if "#{==:#{host_short},mordhona}" +reya_theme_name="mordhona" +# mor dhona theme +# TODO: finish this +# Foreground for messages/tmux commands and any mode decorations (e.g., the line counter in scrollback). +# Background for the vi-style command line (when set-option -g status-keys vi) and the overall status lines. +tmux_conf_theme_colour_1="#306d73" # gloomy library blue +# Foreground for the pane borders. +# Background for the status of the window that was last used, as well as the focused pane (if focused pane colors are enabled). +tmux_conf_theme_colour_2="#080808" # bunnygirl black +# Foreground for the status line and the status of normal (non-active, non-last-used) windows. +tmux_conf_theme_colour_3="#f8f8f8" # white +# Foreground for the active pane's border, the pane indicators, the clock, and the last window in the status bar. +# Background for the current window in the status bar. +tmux_conf_theme_colour_4="#83f7f6" # the color of mana (blue) +# Foreground for the vi-style command line and the status of belled windows. +# Background for the tmux command line and mode decorations. +tmux_conf_theme_colour_5="#ffeb7c" # owlish yellow +# Foreground for the first from the left status segment. +tmux_conf_theme_colour_6="#e4e4e4" # white +# Foreground for the second from the left status segment. +tmux_conf_theme_colour_7="#e4e4e4" # white +# Foreground for the [REBOOT] alert in the first status segment +tmux_conf_theme_colour_8="#f98b8b" # salmon pink +# Background for the first from the left status segment. +tmux_conf_theme_colour_9="#a55054" # dusty library carpet red +# Background for the second from the left status segment. +tmux_conf_theme_colour_10="#9e904c" # dirty shelves gold +# Foreground for the [ROOT] alert in the second status segment +tmux_conf_theme_colour_11="#620404" # blood red +# Foreground for the third from the right status segment. +tmux_conf_theme_colour_12="#e4e4e4" # white +# Foreground for the second from the right status segment. +tmux_conf_theme_colour_13="#e4e4e4" # white +# Foreground for the first from the right status segment. +tmux_conf_theme_colour_14="#e4e4e4" # white +# Background for the third from the right status segment. +tmux_conf_theme_colour_15="#a55054" # dusty libary carpet red +# Background for the second from the right status segment. +tmux_conf_theme_colour_16="#397962" # decaying green +# Background for the first from the right status segment. +tmux_conf_theme_colour_17="#4eacb5" # gloomy library window blue +# battery bar palette, possible values are: +# - gradient (default) +# - heat +# - "colour_full_fg,colour_empty_fg,colour_bg" +tmux_conf_battery_bar_palette="#83f7f6,#a55054,none" +#tmux_conf_battery_bar_palette="#d70000,#e4e4e4,#000000" # red, white, black +%endif +%if "#{==:${reya_theme_name},default}" +# default theme +# Foreground for messages/tmux commands and any mode decorations (e.g., the line counter in scrollback). +# Background for the vi-style command line (when set-option -g status-keys vi) and the overall status lines. +tmux_conf_theme_colour_1="#080808" # dark gray +# Foreground for the pane borders. +# Background for the status of the window that was last used, as well as the focused pane (if focused pane colors are enabled). +tmux_conf_theme_colour_2="#303030" # gray +# Foreground for the status line and the status of normal (non-active, non-last-used) windows. +tmux_conf_theme_colour_3="#8a8a8a" # light gray +# Foreground for the active pane's border, the pane indicators, the clock, and the last window in the status bar. +# Background for the current window in the status bar. +tmux_conf_theme_colour_4="#00afff" # light blue +# Foreground for the vi-style command line and the status of belled windows. +# Background for the tmux command line and mode decorations. +tmux_conf_theme_colour_5="#ffff00" # yellow +# Foreground for the first from the left status segment. +tmux_conf_theme_colour_6="#080808" # dark gray +# Foreground for the second from the left status segment. +tmux_conf_theme_colour_7="#e4e4e4" # white +# Foreground for the [REBOOT] alert in the first status segment +tmux_conf_theme_colour_8="#e40808" # red +# Background for the first from the left status segment. +tmux_conf_theme_colour_9="#ffff00" # yellow +# Background for the second from the left status segment. +tmux_conf_theme_colour_10="#ff00af" # pink +# Foreground for the [ROOT] alert in the second status segment +tmux_conf_theme_colour_11="#e40808" # red +# Foreground for the third from the right status segment. +tmux_conf_theme_colour_12="#8a8a8a" # light gray +# Foreground for the second from the right status segment. +tmux_conf_theme_colour_13="#e4e4e4" # white +# Foreground for the first from the right status segment. +tmux_conf_theme_colour_14="#080808" # dark gray +# Background for the third from the right status segment. +tmux_conf_theme_colour_15="#080808" # dark gray +# Background for the second from the right status segment. +tmux_conf_theme_colour_16="#d70000" # red +# Background for the first from the right status segment. +tmux_conf_theme_colour_17="#e4e4e4" # white +# battery bar palette, possible values are: +# - gradient (default) +# - heat +# - "colour_full_fg,colour_empty_fg,colour_bg" +tmux_conf_battery_bar_palette="gradient" +#tmux_conf_battery_bar_palette="#d70000,#e4e4e4,#000000" # red, white, black +%endif + +# default theme (ansi) +#tmux_conf_theme_colour_1="colour0" +#tmux_conf_theme_colour_2="colour8" +#tmux_conf_theme_colour_3="colour8" +#tmux_conf_theme_colour_4="colour14" +#tmux_conf_theme_colour_5="colour11" +#tmux_conf_theme_colour_6="colour0" +#tmux_conf_theme_colour_7="colour15" +#tmux_conf_theme_colour_8="colour0" +#tmux_conf_theme_colour_9="colour11" +#tmux_conf_theme_colour_10="colour13" +#tmux_conf_theme_colour_11="colour10" +#tmux_conf_theme_colour_12="colour8" +#tmux_conf_theme_colour_13="colour15" +#tmux_conf_theme_colour_14="colour0" +#tmux_conf_theme_colour_15="colour0" +#tmux_conf_theme_colour_16="colour1" +#tmux_conf_theme_colour_17="colour15" + +# window style +tmux_conf_theme_window_fg="default" +tmux_conf_theme_window_bg="default" + +# highlight focused pane (tmux >= 2.1), possible values are: +# - true +# - false (default) +tmux_conf_theme_highlight_focused_pane=false + +# focused pane colours: +tmux_conf_theme_focused_pane_bg="$tmux_conf_theme_colour_2" + +# pane border style, possible values are: +# - thin (default) +# - fat +tmux_conf_theme_pane_border_style=thin + +# pane borders colours: +tmux_conf_theme_pane_border="$tmux_conf_theme_colour_2" +tmux_conf_theme_pane_active_border="$tmux_conf_theme_colour_4" + +# pane indicator colours (when you hit + q) +tmux_conf_theme_pane_indicator="$tmux_conf_theme_colour_4" +tmux_conf_theme_pane_active_indicator="$tmux_conf_theme_colour_4" + +# status line style +tmux_conf_theme_message_fg="$tmux_conf_theme_colour_1" +tmux_conf_theme_message_bg="$tmux_conf_theme_colour_5" +tmux_conf_theme_message_attr="bold" + +# status line command style ( : Escape) +tmux_conf_theme_message_command_fg="$tmux_conf_theme_colour_5" +tmux_conf_theme_message_command_bg="$tmux_conf_theme_colour_1" +tmux_conf_theme_message_command_attr="bold" + +# window modes style +tmux_conf_theme_mode_fg="$tmux_conf_theme_colour_1" +tmux_conf_theme_mode_bg="$tmux_conf_theme_colour_5" +tmux_conf_theme_mode_attr="bold" + +# status line style +tmux_conf_theme_status_fg="$tmux_conf_theme_colour_3" +tmux_conf_theme_status_bg="$tmux_conf_theme_colour_1" +tmux_conf_theme_status_attr="none" + +# terminal title +# - built-in variables are: +# - #{circled_window_index} +# - #{circled_session_name} +# - #{hostname} +# - #{hostname_ssh} +# - #{hostname_full} +# - #{hostname_full_ssh} +# - #{username} +# - #{username_ssh} +tmux_conf_theme_terminal_title="#{username}@#{hostname}#{?hostname_ssh, via #{host_short},} #S // #I #W" + +# window status style +# - built-in variables are: +# - #{circled_window_index} +# - #{circled_session_name} +# - #{hostname} +# - #{hostname_ssh} +# - #{hostname_full} +# - #{hostname_full_ssh} +# - #{username} +# - #{username_ssh} +tmux_conf_theme_window_status_fg="$tmux_conf_theme_colour_3" +tmux_conf_theme_window_status_bg="$tmux_conf_theme_colour_1" +tmux_conf_theme_window_status_attr="none" +#tmux_conf_theme_window_status_format="#I #W" +#tmux_conf_theme_window_status_format="#{circled_window_index} #W" +tmux_conf_theme_window_status_format="#I #W#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}" + +# window current status style +# - built-in variables are: +# - #{circled_window_index} +# - #{circled_session_name} +# - #{hostname} +# - #{hostname_ssh} +# - #{hostname_full} +# - #{hostname_full_ssh} +# - #{username} +# - #{username_ssh} +tmux_conf_theme_window_status_current_fg="$tmux_conf_theme_colour_1" +tmux_conf_theme_window_status_current_bg="$tmux_conf_theme_colour_4" +tmux_conf_theme_window_status_current_attr="bold" +tmux_conf_theme_window_status_current_format="#I #W" +#tmux_conf_theme_window_status_current_format="#{circled_window_index} #W" +#tmux_conf_theme_window_status_current_format="#I #W#{?window_zoomed_flag,🔍,}" + +# window activity status style +tmux_conf_theme_window_status_activity_fg="default" +tmux_conf_theme_window_status_activity_bg="default" +tmux_conf_theme_window_status_activity_attr="underscore" + +# window bell status style +tmux_conf_theme_window_status_bell_fg="$tmux_conf_theme_colour_5" +tmux_conf_theme_window_status_bell_bg="default" +tmux_conf_theme_window_status_bell_attr="blink,bold" + +# window last status style +tmux_conf_theme_window_status_last_fg="$tmux_conf_theme_colour_4" +tmux_conf_theme_window_status_last_bg="$tmux_conf_theme_colour_2" +tmux_conf_theme_window_status_last_attr="none" + +# status left/right sections separators +#tmux_conf_theme_left_separator_main="" +#tmux_conf_theme_left_separator_sub="|" +#tmux_conf_theme_right_separator_main="" +#tmux_conf_theme_right_separator_sub="|" +tmux_conf_theme_left_separator_main='\uE0B0' # /!\ you don't need to install Powerline +tmux_conf_theme_left_separator_sub='\uE0B1' # you only need fonts patched with +tmux_conf_theme_right_separator_main='\uE0B2' # Powerline symbols or the standalone +tmux_conf_theme_right_separator_sub='\uE0B3' # PowerlineSymbols.otf font, see README.md + +# status left/right content: +# - separate main sections with "|" +# - separate subsections with "," +# - built-in variables are: +# - #{battery_bar} +# - #{battery_hbar} +# - #{battery_percentage} +# - #{battery_status} +# - #{battery_vbar} +# - #{circled_session_name} +# - #{hostname_ssh} +# - #{hostname} +# - #{hostname_full} +# - #{hostname_full_ssh} +# - #{loadavg} +# - #{mouse} +# - #{pairing} +# - #{prefix} +# - #{root} +# - #{synchronized} +# - #{uptime_y} +# - #{uptime_d} (modulo 365 when #{uptime_y} is used) +# - #{uptime_h} +# - #{uptime_m} +# - #{uptime_s} +# - #{username} +# - #{username_ssh} +tmux_conf_theme_status_left=" #{host_short}#[blink,fg=$tmux_conf_theme_colour_8]#{reboot}#[noblink,fg=$tmux_conf_theme_colour_6] | #S#{root} " +tmux_conf_theme_status_right=" , #{?battery_status,#{battery_status}, Ok }#{?battery_bar,#{battery_bar},}#{?battery_percentage, #{battery_percentage},} | #{prefix}#{mouse}| %b %d | %R " +# uptime: up #{?uptime_y, #{uptime_y}y,}#{?uptime_d, #{uptime_d}d,}#{?uptime_h, #{uptime_h}h,}#{?uptime_m, #{uptime_m}m,} +# status left style +tmux_conf_theme_status_left_fg="$tmux_conf_theme_colour_6,$tmux_conf_theme_colour_7" +tmux_conf_theme_status_left_bg="$tmux_conf_theme_colour_9,$tmux_conf_theme_colour_10" +tmux_conf_theme_status_left_attr="bold,none" + +# status right style +tmux_conf_theme_status_right_fg="$tmux_conf_theme_colour_3,$tmux_conf_theme_colour_12,$tmux_conf_theme_colour_13,$tmux_conf_theme_colour_14" +tmux_conf_theme_status_right_bg="$tmux_conf_theme_colour_1,$tmux_conf_theme_colour_15,$tmux_conf_theme_colour_16,$tmux_conf_theme_colour_17" +tmux_conf_theme_status_right_attr="none,none,none,bold" + +# pairing indicator +tmux_conf_theme_pairing="Pr" # U+2687 +tmux_conf_theme_pairing_fg="none" +tmux_conf_theme_pairing_bg="none" +tmux_conf_theme_pairing_attr="none" + +# prefix indicator +tmux_conf_theme_prefix="C-a" # U+2328 +tmux_conf_theme_prefix_fg="none" +tmux_conf_theme_prefix_bg="none" +tmux_conf_theme_prefix_attr="none" + +# mouse indicator +tmux_conf_theme_mouse="Ms" # U+2197 +tmux_conf_theme_mouse_fg="none" +tmux_conf_theme_mouse_bg="none" +tmux_conf_theme_mouse_attr="none" + +# root indicator +tmux_conf_theme_root=" [ROOT]" +tmux_conf_theme_root_fg="$tmux_conf_theme_colour_11" +tmux_conf_theme_root_bg="none" +tmux_conf_theme_root_attr="bold,blink" + +# synchronized indicator +tmux_conf_theme_synchronized=" Sy" # U+268F +tmux_conf_theme_synchronized_fg="none" +tmux_conf_theme_synchronized_bg="none" +tmux_conf_theme_synchronized_attr="none" + +# battery bar symbols +tmux_conf_battery_bar_symbol_full="◼" +tmux_conf_battery_bar_symbol_empty="◻" +#tmux_conf_battery_bar_symbol_full="♥" +#tmux_conf_battery_bar_symbol_empty="·" + +# battery bar length (in number of symbols), possible values are: +# - auto +# - a number, e.g. 5 +tmux_conf_battery_bar_length="5" + + +# battery hbar palette, possible values are: +# - gradient (default) +# - heat +# - "colour_low,colour_half,colour_full" +tmux_conf_battery_hbar_palette="gradient" +#tmux_conf_battery_hbar_palette="#d70000,#ff5f00,#5fff00" # red, orange, green + +# battery vbar palette, possible values are: +# - gradient (default) +# - heat +# - "colour_low,colour_half,colour_full" +tmux_conf_battery_vbar_palette="gradient" +#tmux_conf_battery_vbar_palette="#d70000,#ff5f00,#5fff00" # red, orange, green + +# symbols used to indicate whether battery is charging or discharging +#tmux_conf_battery_status_charging="↑" # U+2191 +#tmux_conf_battery_status_discharging="↓" # U+2193 +tmux_conf_battery_status_charging="Chg " # U+1F50C +tmux_conf_battery_status_discharging="Bat " # U+1F50C +#tmux_conf_battery_status_charging="🔌" # U+1F50C +#tmux_conf_battery_status_discharging="🔋" # U+1F50B + +# clock style (when you hit + t) +# you may want to use %I:%M %p in place of %R in tmux_conf_theme_status_right +tmux_conf_theme_clock_colour="$tmux_conf_theme_colour_4" +tmux_conf_theme_clock_style="24" + + +# -- clipboard ----------------------------------------------------------------- + +# in copy mode, copying selection also copies to the OS clipboard +# - true +# - false (default) +# on macOS, this requires installing reattach-to-user-namespace, see README.md +# on Linux, this requires xsel or xclip +tmux_conf_copy_to_os_clipboard=true + + +# -- user customizations ------------------------------------------------------- +# this is the place to override or undo settings + +# increase history size +set -g history-limit 99999 + +# start with mouse mode enabled +set -g mouse on + +# force Vi mode +# really you should export VISUAL or EDITOR environment variable, see manual +#set -g status-keys vi +#set -g mode-keys vi +source-file $TMUX_CONF_DIR/screen.conf + +# replace C-b by C-a instead of using both prefixes +set -gu prefix2 +unbind C-a +unbind C-b +set -g prefix C-a set-option -g base-index 1 set-option -g history-limit 99999 +# bind C-a send-prefix + +# move status line to top +#set -g status-position top + +# -- tpm ----------------------------------------------------------------------- + +# while I don't use tpm myself, many people requested official support so here +# is a seamless integration that automatically installs plugins in parallel + +# whenever a plugin introduces a variable to be used in 'status-left' or +# 'status-right', you can use it in 'tmux_conf_theme_status_left' and +# 'tmux_conf_theme_status_right' variables. + +# by default, launching tmux will update tpm and all plugins +# - true (default) +# - false +tmux_conf_update_plugins_on_launch=false + +# by default, reloading the configuration will update tpm and all plugins +# - true (default) +# - false +tmux_conf_update_plugins_on_reload=false + +# /!\ do not add set -g @plugin 'tmux-plugins/tpm' +# /!\ do not add run '~/.tmux/plugins/tpm/tpm' + +# to enable a plugin, use the 'set -g @plugin' syntax: +# visit https://github.com/tmux-plugins for available plugins +#set -g @plugin 'tmux-plugins/tmux-copycat' +#set -g @plugin 'tmux-plugins/tmux-cpu' +#set -g @plugin 'tmux-plugins/tmux-resurrect' +#set -g @plugin 'tmux-plugins/tmux-continuum' +#set -g @continuum-restore 'on' + + +# -- custom variables ---------------------------------------------------------- + +# to define a custom #{foo} variable, define a POSIX shell function between the +# '# EOF' and the '# "$@"' lines. Please note that the opening brace { character +# must be on the same line as the function name otherwise the parse won't detect +# it. +# +# then, use #{foo} in e.g. the 'tmux_conf_theme_status_left' or the +# 'tmux_conf_theme_status_right' variables. -############################### -# Unused Session/Global Options -############################### -# set-option -ug bell-action -# set-option -ug default-command -# set-option -ug display-panes-color -# set-option -ug display-panes-time -# set-option -ug display-time -# set-option -ug lock-after-time -# set-option -ug lock-command -# set-option -ug lock-server -# set-option -ug mouse-select-pane -# set-option -ug repeat-time -# set-option -ug set-remain-on-exit -# set-option -ug status-right-length -# set-option -ug update-environment -# set-option -ug visual-activity -# set-option -ug visual-bell -# set-option -ug visual-content - -####################### -# Unused Window Options -####################### -# set-window-option -ug aggressive-resize -# set-window-option -ug automatic-rename -# set-window-option -ug clock-mode-colour -# set-window-option -ug force-height -# set-window-option -ug force-width -# set-window-option -ug main-pane-width -# set-window-option -ug main-pane-height -# set-window-option -ug mode-attr -# set-window-option -ug mode-bg -# set-window-option -ug mode-fg -# set-window-option -ug mode-mouse -# set-window-option -ug monitor-activity -# set-window-option -ug monitor-content -# set-window-option -ug remain-on-exit -# set-window-option -ug synchronize-panes -# set-window-option -ug window-status-attr -# set-window-option -ug window-status-bg -# set-window-option -ug window-status-fg +# # /!\ do not remove the following line +# EOF +# +# # /!\ do not "uncomment" the functions: the leading "# " characters are needed +# +# weather() { +# curl -m 1 wttr.in?format=3 2>/dev/null +# sleep 900 # sleep for 15 minutes, throttle network requests whatever the value of status-interval +# } +# +# online() { +# ping -c 1 1.1.1.1 >/dev/null 2>&1 && printf 'ok' || printf 'NC' +# } +# +# reboot() { +# [[ -f /var/run/reboot-required ]] && echo ' [REBOOT]' +# } +# +# "$@" +# # /!\ do not remove the previous line diff --git a/tmux/tmux.need-reboot.sh b/tmux/tmux.need-reboot.sh deleted file mode 100755 index fd10e84..0000000 --- a/tmux/tmux.need-reboot.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -# script for displaying reboot status in tmux status line - -source "$( dirname "$(realpath -e "${BASH_SOURCE[0]}")" )"/.tmux.status-helpers.sh -if needs_reboot; then - echo "#[bg=colour$(get_bgcolor_gradient_red_to_cyan 0 100)][REBOOT]" -fi diff --git a/tmux/tmux.status-helpers.sh b/tmux/tmux.status-helpers.sh deleted file mode 100644 index 210a34a..0000000 --- a/tmux/tmux.status-helpers.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash -# helpers for tmux status line scripts - -function get_bgcolor_gradient_red_to_cyan() { - local -a colors - colors=( - 196 # red - 202 208 214 220 # oranges - 226 226 # yellow - 190 154 118 # yellow-greens - 046 046 046 # green - 047 048 049 050 # green-cyans - 051 # cyan - ) - local curval=${1:-0} - local maxval=${2:-100} - local maxindex=$(( ${#colors[@]} - 1 )) - local index=$(( (curval * maxindex) / maxval )) - if [[ $index -gt $maxindex ]]; then - index=$maxindex - elif [[ $index -lt 0 ]]; then - index=0 - fi - echo ${colors[$index]} -} - -function needs_reboot() { - [[ -f //var/run/reboot-required ]] -} diff --git a/zsh/customizations/zsh_tmux.zsh b/zsh/customizations/zsh_tmux.zsh index abc9f25..37184d0 100644 --- a/zsh/customizations/zsh_tmux.zsh +++ b/zsh/customizations/zsh_tmux.zsh @@ -7,7 +7,6 @@ function tmux_running() { function tmux_init() { tmux -2 new-session -d -s "Nexus" -n "Misc." - tmux -2 new-window -d -t "Nexus:0" -n "Monitor" "htop" } function go_tmux() {