Config and setup files
at main 19 kB view raw
1# : << EOF 2# Oh my tmux! 3# 💛🩷💙🖤❤️🤍 4# https://github.com/gpakosz/.tmux 5# (‑●‑●)> dual licensed under the WTFPL v2 license and the MIT license, 6# without any warranty. 7# Copyright 2012— Gregory Pakosz (@gpakosz). 8 9 10# -- bindings ------------------------------------------------------------------ 11 12# preserve tmux stock bindings, 13# while adding bindings that don't conflict with these stock bindings 14# /!\ this disables some of Oh my tmux! bindings described in README.md 15# - true 16# - false (default) 17tmux_conf_preserve_stock_bindings=false 18 19 20# -- session creation ---------------------------------------------------------- 21 22# prompt for session name when creating a new session, possible values are: 23# - true 24# - false (default) 25# - disabled (do not modify new-session bindings) 26tmux_conf_new_session_prompt=false 27 28# new session retains current path, possible values are: 29# - true 30# - false (default) 31# - disabled (do not modify new-session bindings) 32tmux_conf_new_session_retain_current_path=false 33 34 35# -- windows & pane creation --------------------------------------------------- 36 37# new window retains current path, possible values are: 38# - true 39# - false (default) 40# - disabled (do not modify new-window bindings) 41tmux_conf_new_window_retain_current_path=false 42 43# new window tries to reconnect ssh sessions, possible values are: 44# - true 45# - false (default) 46# - disabled (do not modify new-window bindings) 47tmux_conf_new_window_reconnect_ssh=false 48 49# new pane retains current path, possible values are: 50# - true (default) 51# - false 52# - disabled (do not modify split-window bindings) 53tmux_conf_new_pane_retain_current_path=true 54 55# new pane tries to reconnect ssh sessions, possible values are: 56# - true 57# - false (default) 58# - disabled (do not modify split-window bindings) 59tmux_conf_new_pane_reconnect_ssh=false 60 61 62# -- display ------------------------------------------------------------------- 63 64# RGB 24-bit colour support, possible values are: 65# - true 66# - false 67# - auto (default) 68# 69# automatic detection relies on the COLORTERM environment variable being defined 70# to 'truecolor' or '24bit' or '$ tput colors' answering '16777216' 71# see https://github.com/termstandard/colors 72tmux_conf_24b_colour=auto 73 74 75# -- theming ------------------------------------------------------------------- 76 77# enable or disable theming: 78# - enabled (default) 79# - disabled 80# when disabled, all tmux_conf_theme_xxx variables are ignored except: 81# - tmux_conf_theme_pairing 82# - tmux_conf_theme_prefix 83# - tmux_conf_theme_mouse 84# - tmux_conf_theme_root 85# - tmux_conf_theme_synchronized 86tmux_conf_theme=enabled 87 88# default theme 89tmux_conf_theme_colour_1="#080808" # dark gray 90tmux_conf_theme_colour_2="#303030" # gray 91tmux_conf_theme_colour_3="#8a8a8a" # light gray 92tmux_conf_theme_colour_4="#00afff" # light blue 93tmux_conf_theme_colour_5="#ffff00" # yellow 94tmux_conf_theme_colour_6="#080808" # dark gray 95tmux_conf_theme_colour_7="#e4e4e4" # white 96tmux_conf_theme_colour_8="#080808" # dark gray 97tmux_conf_theme_colour_9="#ffff00" # yellow 98tmux_conf_theme_colour_10="#ff00af" # pink 99tmux_conf_theme_colour_11="#5fff00" # green 100tmux_conf_theme_colour_12="#8a8a8a" # light gray 101tmux_conf_theme_colour_13="#e4e4e4" # white 102tmux_conf_theme_colour_14="#080808" # dark gray 103tmux_conf_theme_colour_15="#080808" # dark gray 104tmux_conf_theme_colour_16="#d70000" # red 105tmux_conf_theme_colour_17="#e4e4e4" # white 106 107# default theme (ansi) 108#tmux_conf_theme_colour_1="colour0" 109#tmux_conf_theme_colour_2="colour8" 110#tmux_conf_theme_colour_3="colour8" 111#tmux_conf_theme_colour_4="colour14" 112#tmux_conf_theme_colour_5="colour11" 113#tmux_conf_theme_colour_6="colour0" 114#tmux_conf_theme_colour_7="colour15" 115#tmux_conf_theme_colour_8="colour0" 116#tmux_conf_theme_colour_9="colour11" 117#tmux_conf_theme_colour_10="colour13" 118#tmux_conf_theme_colour_11="colour10" 119#tmux_conf_theme_colour_12="colour8" 120#tmux_conf_theme_colour_13="colour15" 121#tmux_conf_theme_colour_14="colour0" 122#tmux_conf_theme_colour_15="colour0" 123#tmux_conf_theme_colour_16="colour1" 124#tmux_conf_theme_colour_17="colour15" 125 126# window style 127tmux_conf_theme_window_fg="default" 128tmux_conf_theme_window_bg="default" 129 130# highlight focused pane, possible values are: 131# - true 132# - false (default) 133tmux_conf_theme_highlight_focused_pane=false 134 135# focused pane colours: 136tmux_conf_theme_focused_pane_bg="$tmux_conf_theme_colour_2" 137 138# pane border style, possible values are: 139# - thin (default) 140# - fat 141tmux_conf_theme_pane_border_style=thin 142 143# pane borders colours: 144tmux_conf_theme_pane_border="$tmux_conf_theme_colour_2" 145tmux_conf_theme_pane_active_border="$tmux_conf_theme_colour_4" 146%if #{>=:#{version},3.2} 147tmux_conf_theme_pane_active_border="#{?pane_in_mode,$tmux_conf_theme_colour_9,#{?synchronize-panes,$tmux_conf_theme_colour_16,$tmux_conf_theme_colour_4}}" 148%endif 149 150# pane indicator colours (when you hit <prefix> + q) 151tmux_conf_theme_pane_indicator="$tmux_conf_theme_colour_4" 152tmux_conf_theme_pane_active_indicator="$tmux_conf_theme_colour_4" 153 154# status line style 155tmux_conf_theme_message_fg="$tmux_conf_theme_colour_1" 156tmux_conf_theme_message_bg="$tmux_conf_theme_colour_5" 157tmux_conf_theme_message_attr="bold" 158 159# status line command style (<prefix> : Escape) 160tmux_conf_theme_message_command_fg="$tmux_conf_theme_colour_5" 161tmux_conf_theme_message_command_bg="$tmux_conf_theme_colour_1" 162tmux_conf_theme_message_command_attr="bold" 163 164# window modes style 165tmux_conf_theme_mode_fg="$tmux_conf_theme_colour_1" 166tmux_conf_theme_mode_bg="$tmux_conf_theme_colour_5" 167tmux_conf_theme_mode_attr="bold" 168 169# status line style 170tmux_conf_theme_status_fg="$tmux_conf_theme_colour_3" 171tmux_conf_theme_status_bg="$tmux_conf_theme_colour_1" 172tmux_conf_theme_status_attr="none" 173 174# terminal title 175# - built-in variables are: 176# - #{circled_window_index} 177# - #{circled_session_name} 178# - #{hostname} 179# - #{hostname_ssh} 180# - #{hostname_full} 181# - #{hostname_full_ssh} 182# - #{username} 183# - #{username_ssh} 184tmux_conf_theme_terminal_title="#h ❐ #S ● #I #W" 185 186# window status style 187# - built-in variables are: 188# - #{circled_window_index} 189# - #{circled_session_name} 190# - #{hostname} 191# - #{hostname_ssh} 192# - #{hostname_full} 193# - #{hostname_full_ssh} 194# - #{username} 195# - #{username_ssh} 196tmux_conf_theme_window_status_fg="$tmux_conf_theme_colour_3" 197tmux_conf_theme_window_status_bg="$tmux_conf_theme_colour_1" 198tmux_conf_theme_window_status_attr="none" 199tmux_conf_theme_window_status_format="#I #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}" 200#tmux_conf_theme_window_status_format="#{circled_window_index} #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}" 201#tmux_conf_theme_window_status_format="#I #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,🔔,}#{?window_zoomed_flag,🔍,}" 202 203# window current status style 204# - built-in variables are: 205# - #{circled_window_index} 206# - #{circled_session_name} 207# - #{hostname} 208# - #{hostname_ssh} 209# - #{hostname_full} 210# - #{hostname_full_ssh} 211# - #{username} 212# - #{username_ssh} 213tmux_conf_theme_window_status_current_fg="$tmux_conf_theme_colour_1" 214tmux_conf_theme_window_status_current_bg="$tmux_conf_theme_colour_4" 215tmux_conf_theme_window_status_current_attr="bold" 216tmux_conf_theme_window_status_current_format="#I #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}" 217#tmux_conf_theme_window_status_current_format="#{circled_window_index} #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}" 218#tmux_conf_theme_window_status_current_format="#I #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,🔔,}#{?window_zoomed_flag,🔍,}" 219 220# window activity status style 221tmux_conf_theme_window_status_activity_fg="default" 222tmux_conf_theme_window_status_activity_bg="default" 223tmux_conf_theme_window_status_activity_attr="underscore" 224 225# window bell status style 226tmux_conf_theme_window_status_bell_fg="$tmux_conf_theme_colour_5" 227tmux_conf_theme_window_status_bell_bg="default" 228tmux_conf_theme_window_status_bell_attr="blink,bold" 229 230# window last status style 231tmux_conf_theme_window_status_last_fg="$tmux_conf_theme_colour_4" 232tmux_conf_theme_window_status_last_bg="$tmux_conf_theme_colour_2" 233tmux_conf_theme_window_status_last_attr="none" 234 235# status left/right sections separators 236tmux_conf_theme_left_separator_main="" 237tmux_conf_theme_left_separator_sub="|" 238tmux_conf_theme_right_separator_main="" 239tmux_conf_theme_right_separator_sub="|" 240#tmux_conf_theme_left_separator_main='\uE0B0' # /!\ you don't need to install Powerline 241#tmux_conf_theme_left_separator_sub='\uE0B1' # you only need fonts patched with 242#tmux_conf_theme_right_separator_main='\uE0B2' # Powerline symbols or the standalone 243#tmux_conf_theme_right_separator_sub='\uE0B3' # PowerlineSymbols.otf font, see README.md 244 245# status left/right content: 246# - separate main sections with "|" 247# - separate subsections with "," 248# - built-in variables are: 249# - #{battery_bar} 250# - #{battery_hbar} 251# - #{battery_percentage} 252# - #{battery_status} 253# - #{battery_vbar} 254# - #{circled_session_name} 255# - #{hostname_ssh} 256# - #{hostname} 257# - #{hostname_full} 258# - #{hostname_full_ssh} 259# - #{loadavg} 260# - #{mouse} 261# - #{pairing} 262# - #{prefix} 263# - #{root} 264# - #{synchronized} 265# - #{uptime_y} 266# - #{uptime_d} (modulo 365 when #{uptime_y} is used) 267# - #{uptime_h} 268# - #{uptime_m} 269# - #{uptime_s} 270# - #{username} 271# - #{username_ssh} 272tmux_conf_theme_status_left=" ❐ #S | #{pretty_pane_current_path} " 273#tmux_conf_theme_status_left=" ❐ #S | ↑#{?uptime_y, #{uptime_y}y,}#{?uptime_d, #{uptime_d}d,}#{?uptime_h, #{uptime_h}h,}#{?uptime_m, #{uptime_m}m,} | #{pretty_pane_current_path} " 274tmux_conf_theme_status_right=" #{prefix}#{mouse}#{pairing}#{synchronized} , %R , %d %b | #{username}#{root} | #{hostname} " 275 276# status left style 277tmux_conf_theme_status_left_fg="$tmux_conf_theme_colour_6,$tmux_conf_theme_colour_7,$tmux_conf_theme_colour_8" 278tmux_conf_theme_status_left_bg="$tmux_conf_theme_colour_9,$tmux_conf_theme_colour_10,$tmux_conf_theme_colour_11" 279tmux_conf_theme_status_left_attr="bold,none,none" 280 281# status right style 282tmux_conf_theme_status_right_fg="$tmux_conf_theme_colour_12,$tmux_conf_theme_colour_13,$tmux_conf_theme_colour_14" 283tmux_conf_theme_status_right_bg="$tmux_conf_theme_colour_15,$tmux_conf_theme_colour_16,$tmux_conf_theme_colour_17" 284tmux_conf_theme_status_right_attr="none,none,bold" 285 286# pairing indicator 287tmux_conf_theme_pairing="⚇" # U+2687 288tmux_conf_theme_pairing_fg="none" 289tmux_conf_theme_pairing_bg="none" 290tmux_conf_theme_pairing_attr="none" 291 292# prefix indicator 293tmux_conf_theme_prefix="⌨" # U+2328 294tmux_conf_theme_prefix_fg="none" 295tmux_conf_theme_prefix_bg="none" 296tmux_conf_theme_prefix_attr="none" 297 298# mouse indicator 299tmux_conf_theme_mouse="↗" # U+2197 300tmux_conf_theme_mouse_fg="none" 301tmux_conf_theme_mouse_bg="none" 302tmux_conf_theme_mouse_attr="none" 303 304# root indicator 305tmux_conf_theme_root="!" 306tmux_conf_theme_root_fg="none" 307tmux_conf_theme_root_bg="none" 308tmux_conf_theme_root_attr="bold,blink" 309 310# synchronized indicator 311tmux_conf_theme_synchronized="⚏" # U+268F 312tmux_conf_theme_synchronized_fg="none" 313tmux_conf_theme_synchronized_bg="none" 314tmux_conf_theme_synchronized_attr="none" 315 316# battery bar symbols 317tmux_conf_battery_bar_symbol_full="◼" 318tmux_conf_battery_bar_symbol_empty="◻" 319#tmux_conf_battery_bar_symbol_full="♥" 320#tmux_conf_battery_bar_symbol_empty="·" 321 322# battery bar length (in number of symbols), possible values are: 323# - auto 324# - a number, e.g. 5 325tmux_conf_battery_bar_length="auto" 326 327# battery bar palette, possible values are: 328# - gradient (default) 329# - heat 330# - "colour_full_fg,colour_empty_fg,colour_bg" 331# - gradient(colour_fg_1,colour_fg_2,...,colour_fg_n) 332tmux_conf_battery_bar_palette="gradient" 333#tmux_conf_battery_bar_palette="#d70000,#e4e4e4,#000000" # red, white, black 334#tmux_conf_battery_bar_palette="gradient(#00afff,#47a2ff,#7c91ff,#ac7afb,#d65be2,#e163df,#eb6cdd,#f475db,#ec9ff1,#eac3fe,#efe2ff,#ffffff)" 335 336# battery hbar palette, possible values are: 337# - gradient (default) 338# - heat 339# - "colour_low,colour_half,colour_full" 340# - gradient(colour_fg_1,colour_fg_2,...,colour_fg_n) 341tmux_conf_battery_hbar_palette="gradient" 342#tmux_conf_battery_hbar_palette="#d70000,#ff5f00,#5fff00" # red, orange, green 343#tmux_conf_battery_hbar_palette="gradient(#00afff,#47a2ff,#7c91ff,#ac7afb,#d65be2,#e163df,#eb6cdd,#f475db,#ec9ff1,#eac3fe,#efe2ff,#ffffff)" 344 345# battery vbar palette, possible values are: 346# - gradient (default) 347# - heat 348# - "colour_low,colour_half,colour_full" 349# - gradient(colour_fg_1,colour_fg_2,...,colour_fg_n) 350tmux_conf_battery_vbar_palette="gradient" 351#tmux_conf_battery_vbar_palette="#d70000,#ff5f00,#5fff00" # red, orange, green 352#tmux_conf_battery_vbar_palette="gradient(#00afff,#47a2ff,#7c91ff,#ac7afb,#d65be2,#e163df,#eb6cdd,#f475db,#ec9ff1,#eac3fe,#efe2ff,#ffffff)" 353 354# symbols used to indicate whether battery is charging or discharging 355tmux_conf_battery_status_charging="↑" # U+2191 356tmux_conf_battery_status_discharging="↓" # U+2193 357#tmux_conf_battery_status_charging="🔌" # U+1F50C 358#tmux_conf_battery_status_discharging="🔋" # U+1F50B 359 360# clock style (when you hit <prefix> + t) 361# you may want to use %I:%M %p in place of %R in tmux_conf_theme_status_right 362tmux_conf_theme_clock_colour="$tmux_conf_theme_colour_4" 363tmux_conf_theme_clock_style="24" 364 365 366# -- clipboard ----------------------------------------------------------------- 367 368# in copy mode, copying selection also copies to the OS clipboard 369# - true 370# - false (default) 371# - disabled 372# on Linux, this requires xsel, xclip or wl-copy 373tmux_conf_copy_to_os_clipboard=false 374 375 376# -- urlscan ------------------------------------------------------------------- 377 378# options passed to urlscan 379tmux_conf_urlscan_options="--compact --dedupe" 380 381 382# -- user customizations ------------------------------------------------------- 383 384# this is the place to override or undo settings 385 386# increase history size 387#set -g history-limit 10000 388 389# start with mouse mode enabled 390#set -g mouse on 391 392# force Vi mode 393# really you should export VISUAL or EDITOR environment variable, see manual 394#set -g status-keys vi 395#set -g mode-keys vi 396 397# replace C-b by C-a instead of using both prefixes 398# set -gu prefix2 399# unbind C-a 400# unbind C-b 401# set -g prefix C-a 402# bind C-a send-prefix 403 404# if you don't want Oh my tmux! to alter a binding or a setting, use #!important 405# bind c new-window -c '#{pane_current_path}' #!important 406 407# move status line to top 408#set -g status-position top 409 410 411# -- tpm ----------------------------------------------------------------------- 412 413# while I don't use tpm myself, many people requested official support so here 414# is a seamless integration that automatically installs plugins in parallel 415 416# whenever a plugin introduces a variable to be used in 'status-left' or 417# 'status-right', you can use it in 'tmux_conf_theme_status_left' and 418# 'tmux_conf_theme_status_right' variables. 419 420# by default, launching tmux will update tpm and all plugins 421# - true (default) 422# - false 423tmux_conf_update_plugins_on_launch=true 424 425# by default, reloading the configuration will update tpm and all plugins 426# - true (default) 427# - false 428tmux_conf_update_plugins_on_reload=true 429 430# by default, reloading the configuration will uninstall tpm and plugins when no 431# plugins are enabled 432# - true (default) 433# - false 434tmux_conf_uninstall_plugins_on_reload=true 435 436# /!\ the tpm bindings differ slightly from upstream: 437# - installing plugins: <prefix> + I 438# - uninstalling plugins: <prefix> + Alt + u 439# - updating plugins: <prefix> + u 440 441# /!\ do not add set -g @plugin 'tmux-plugins/tpm' 442# /!\ do not add run '~/.tmux/plugins/tpm/tpm' 443 444# to enable a plugin, use the 'set -g @plugin' syntax: 445# visit https://github.com/tmux-plugins for available plugins 446#set -g @plugin 'tmux-plugins/tmux-copycat' 447#set -g @plugin 'tmux-plugins/tmux-cpu' 448#set -g @plugin 'tmux-plugins/tmux-resurrect' 449#set -g @plugin 'tmux-plugins/tmux-continuum' 450#set -g @continuum-restore 'on' 451 452 453# -- custom variables ---------------------------------------------------------- 454 455# to define a custom #{foo} variable, define a POSIX shell function between the 456# '# EOF' and the '# "$@"' lines. Please note that the opening brace { character 457# must be on the same line as the function name otherwise the parse won't detect 458# it. 459# 460# then, use #{foo} in e.g. the 'tmux_conf_theme_status_left' or the 461# 'tmux_conf_theme_status_right' variables. 462 463# ------------------------------------------------------------------------------ 464 465# # /!\ do not remove the following line 466# EOF 467# 468# # /!\ do not "uncomment" the functions: the leading "# " characters are needed 469# 470# # usage: #{weather} 471# weather() { # see https://github.com/chubin/wttr.in#one-line-output 472# curl -f -s -m 2 'wttr.in?format=3' || printf '\n' # /!\ make sure curl is installed 473# sleep 900 # sleep for 15 minutes, throttle network requests whatever the value of status-interval 474# } 475# 476# # usage: #{online} 477# online() { 478# ping -c 1 1.1.1.1 >/dev/null 2>&1 && printf '✔' || printf '✘' 479# } 480# 481# # usage: #{wan_ip_v4} 482# wan_ip_v4() { 483# curl -f -s -m 2 -4 ifconfig.me 484# sleep 300 # sleep for 5 minutes, throttle network requests whatever the value of status-interval 485# } 486# 487# # usage: #{wan_ip_v6} 488# wan_ip_v6() { 489# curl -f -s -m 2 -6 ifconfig.me 490# sleep 300 # sleep for 5 minutes, throttle network requests whatever the value of status-interval 491# } 492# 493# # usage: #{github_stars}, #{github_stars tmux/tmux}, ... 494# github_stars() { 495# repository=${1##*https://github.com/} 496# repository=${repository%% *} 497# repository=${repository%%.git} 498# url="https://api.github.com/repos/${repository:-gpakosz/.tmux}" 499# curl -s "$url" | perl -MJSON::PP=decode_json -CO -0777 -E '$response = decode_json(readline *STDIN); say ($response->{stargazers_count})' 500# sleep 300 # sleep for 5 minutes, throttle network requests whatever the value of status-interval 501# } 502# 503# "$@" 504# # /!\ do not remove the previous line 505# # do not write below this line