Merge branch 'master' of https://github.com/gpakosz/.tmux into gpakosz-master
This commit is contained in:
commit
3c98783e7a
5 changed files with 1473 additions and 840 deletions
1
.github/funding.yml
vendored
Normal file
1
.github/funding.yml
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
github: gpakosz
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
plugins/**
|
1800
.tmux.conf
1800
.tmux.conf
File diff suppressed because it is too large
Load diff
374
.tmux.conf.local
374
.tmux.conf.local
|
@ -1,17 +1,17 @@
|
|||
# : << 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 ----------------------------------------------------------------
|
||||
# -- session creation ----------------------------------------------------------
|
||||
|
||||
# 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"
|
||||
# prompt for session name when creating a new session, possible values are:
|
||||
# - true
|
||||
# - false (default)
|
||||
# - disabled (do not modify new-session bindings)
|
||||
tmux_conf_new_session_prompt=false
|
||||
|
||||
|
||||
# -- windows & pane creation ---------------------------------------------------
|
||||
|
@ -19,36 +19,97 @@
|
|||
# new window retains current path, possible values are:
|
||||
# - true
|
||||
# - false (default)
|
||||
# - disabled (do not modify new-window bindings)
|
||||
tmux_conf_new_window_retain_current_path=false
|
||||
|
||||
# new window tries to reconnect ssh sessions, possible values are:
|
||||
# - true
|
||||
# - false (default)
|
||||
# - disabled (do not modify new-window bindings)
|
||||
tmux_conf_new_window_reconnect_ssh=false
|
||||
|
||||
# new pane retains current path, possible values are:
|
||||
# - true (default)
|
||||
# - false
|
||||
# - disabled (do not modify split-window bindings)
|
||||
tmux_conf_new_pane_retain_current_path=true
|
||||
|
||||
# new pane tries to reconnect ssh sessions (experimental), possible values are:
|
||||
# new pane tries to reconnect ssh sessions, possible values are:
|
||||
# - true
|
||||
# - false (default)
|
||||
# - disabled (do not modify split-window bindings)
|
||||
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_theme_24b_colour=false
|
||||
# RGB 24-bit colour support, possible values are:
|
||||
# - true
|
||||
# - false
|
||||
# - auto (default)
|
||||
#
|
||||
# automatic detection relies on the COLORTERM environment variable being defined
|
||||
# to 'truecolor' or '24bit' or '$ tput colors' answering '16777216'
|
||||
# see https://github.com/termstandard/colors
|
||||
tmux_conf_24b_colour=auto
|
||||
|
||||
|
||||
# -- theming -------------------------------------------------------------------
|
||||
|
||||
# enable or disable theming:
|
||||
# - enabled (default)
|
||||
# - disabled
|
||||
# when disabled, all tmux_conf_theme_xxx variables are ignored except:
|
||||
# - tmux_conf_theme_pairing
|
||||
# - tmux_conf_theme_prefix
|
||||
# - tmux_conf_theme_mouse
|
||||
# - tmux_conf_theme_root
|
||||
# - tmux_conf_theme_synchronized
|
||||
tmux_conf_theme=enabled
|
||||
|
||||
# default theme
|
||||
tmux_conf_theme_colour_1="#080808" # dark gray
|
||||
tmux_conf_theme_colour_2="#303030" # gray
|
||||
tmux_conf_theme_colour_3="#8a8a8a" # light gray
|
||||
tmux_conf_theme_colour_4="#00afff" # light blue
|
||||
tmux_conf_theme_colour_5="#ffff00" # yellow
|
||||
tmux_conf_theme_colour_6="#080808" # dark gray
|
||||
tmux_conf_theme_colour_7="#e4e4e4" # white
|
||||
tmux_conf_theme_colour_8="#080808" # dark gray
|
||||
tmux_conf_theme_colour_9="#ffff00" # yellow
|
||||
tmux_conf_theme_colour_10="#ff00af" # pink
|
||||
tmux_conf_theme_colour_11="#5fff00" # green
|
||||
tmux_conf_theme_colour_12="#8a8a8a" # light gray
|
||||
tmux_conf_theme_colour_13="#e4e4e4" # white
|
||||
tmux_conf_theme_colour_14="#080808" # dark gray
|
||||
tmux_conf_theme_colour_15="#080808" # dark gray
|
||||
tmux_conf_theme_colour_16="#d70000" # red
|
||||
tmux_conf_theme_colour_17="#e4e4e4" # white
|
||||
|
||||
# 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='#101010' # Slightly bright
|
||||
|
||||
# highlight focused pane (tmux >= 2.1), possible values are:
|
||||
# highlight focused pane, possible values are:
|
||||
# - true
|
||||
# - false (default)
|
||||
tmux_conf_theme_highlight_focused_pane=true
|
||||
|
@ -63,32 +124,42 @@ tmux_conf_theme_focused_pane_bg='#000000' # Black
|
|||
tmux_conf_theme_pane_border_style=thin
|
||||
|
||||
# pane borders colours:
|
||||
tmux_conf_theme_pane_border='#444444' # gray
|
||||
tmux_conf_theme_pane_active_border='#992222' # light red
|
||||
# Previous my setting
|
||||
# tmux_conf_theme_pane_border='#444444' # gray
|
||||
# tmux_conf_theme_pane_active_border='#992222' # light red
|
||||
|
||||
# pane indicator colours
|
||||
tmux_conf_theme_pane_indicator='#00afff' # light blue
|
||||
tmux_conf_theme_pane_active_indicator='#992222' # light red
|
||||
# tmux_conf_theme_pane_indicator='#00afff' # light blue
|
||||
# tmux_conf_theme_pane_active_indicator='#992222' # light red
|
||||
tmux_conf_theme_pane_border="$tmux_conf_theme_colour_2"
|
||||
tmux_conf_theme_pane_active_border="$tmux_conf_theme_colour_4"
|
||||
%if #{>=:#{version},3.2}
|
||||
tmux_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}}"
|
||||
%endif
|
||||
|
||||
# pane indicator colours (when you hit <prefix> + 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='#000000' # black
|
||||
tmux_conf_theme_message_bg='#ffff00' # yellow
|
||||
tmux_conf_theme_message_attr='bold'
|
||||
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 (<prefix> : Escape)
|
||||
tmux_conf_theme_message_command_fg='#ffff00' # yellow
|
||||
tmux_conf_theme_message_command_bg='#000000' # black
|
||||
tmux_conf_theme_message_command_attr='bold'
|
||||
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='#000000' # black
|
||||
tmux_conf_theme_mode_bg='#ffff00' # yellow
|
||||
tmux_conf_theme_mode_attr='bold'
|
||||
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='#8a8a8a' # light gray
|
||||
tmux_conf_theme_status_bg='#080808' # dark gray
|
||||
tmux_conf_theme_status_attr='none'
|
||||
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:
|
||||
|
@ -96,9 +167,11 @@ tmux_conf_theme_status_attr='none'
|
|||
# - #{circled_session_name}
|
||||
# - #{hostname}
|
||||
# - #{hostname_ssh}
|
||||
# - #{hostname_full}
|
||||
# - #{hostname_full_ssh}
|
||||
# - #{username}
|
||||
# - #{username_ssh}
|
||||
tmux_conf_theme_terminal_title='#h ❐ #S ● #I #W'
|
||||
tmux_conf_theme_terminal_title="#h ❐ #S ● #I #W"
|
||||
|
||||
# window status style
|
||||
# - built-in variables are:
|
||||
|
@ -106,14 +179,16 @@ tmux_conf_theme_terminal_title='#h ❐ #S ● #I #W'
|
|||
# - #{circled_session_name}
|
||||
# - #{hostname}
|
||||
# - #{hostname_ssh}
|
||||
# - #{hostname_full}
|
||||
# - #{hostname_full_ssh}
|
||||
# - #{username}
|
||||
# - #{username_ssh}
|
||||
tmux_conf_theme_window_status_fg='#8a8a8a' # light gray
|
||||
tmux_conf_theme_window_status_bg='#080808' # dark gray
|
||||
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,🔍,}'
|
||||
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#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}"
|
||||
#tmux_conf_theme_window_status_format="#{circled_window_index} #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}"
|
||||
#tmux_conf_theme_window_status_format="#I #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,🔔,}#{?window_zoomed_flag,🔍,}"
|
||||
|
||||
# window current status style
|
||||
# - built-in variables are:
|
||||
|
@ -121,43 +196,45 @@ tmux_conf_theme_window_status_format='#I #W'
|
|||
# - #{circled_session_name}
|
||||
# - #{hostname}
|
||||
# - #{hostname_ssh}
|
||||
# - #{hostname_full}
|
||||
# - #{hostname_full_ssh}
|
||||
# - #{username}
|
||||
# - #{username_ssh}
|
||||
tmux_conf_theme_window_status_current_fg='#000000' # black
|
||||
tmux_conf_theme_window_status_current_bg='#00afff' # light blue
|
||||
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,🔍,}'
|
||||
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#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}"
|
||||
#tmux_conf_theme_window_status_current_format="#{circled_window_index} #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,!,}#{?window_zoomed_flag,Z,}"
|
||||
#tmux_conf_theme_window_status_current_format="#I #W#{?#{||:#{window_bell_flag},#{window_zoomed_flag}}, ,}#{?window_bell_flag,🔔,}#{?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'
|
||||
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='#ffff00' # yellow
|
||||
tmux_conf_theme_window_status_bell_bg='default'
|
||||
tmux_conf_theme_window_status_bell_attr='blink,bold'
|
||||
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='#00afff' # light blue
|
||||
tmux_conf_theme_window_status_last_bg='default'
|
||||
tmux_conf_theme_window_status_last_attr='none'
|
||||
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=""
|
||||
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 ','
|
||||
# - separate main sections with "|"
|
||||
# - separate subsections with ","
|
||||
# - built-in variables are:
|
||||
# - #{battery_bar}
|
||||
# - #{battery_hbar}
|
||||
|
@ -167,7 +244,10 @@ tmux_conf_theme_right_separator_sub='|'
|
|||
# - #{circled_session_name}
|
||||
# - #{hostname_ssh}
|
||||
# - #{hostname}
|
||||
# - #{hostname_full}
|
||||
# - #{hostname_full_ssh}
|
||||
# - #{loadavg}
|
||||
# - #{mouse}
|
||||
# - #{pairing}
|
||||
# - #{prefix}
|
||||
# - #{root}
|
||||
|
@ -179,86 +259,91 @@ tmux_conf_theme_right_separator_sub='|'
|
|||
# - #{uptime_s}
|
||||
# - #{username}
|
||||
# - #{username_ssh}
|
||||
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,} '
|
||||
tmux_conf_theme_status_right='#{prefix}#{pairing}#{synchronized} #{?battery_status, #{battery_status},}#{?battery_bar, #{battery_bar},}#{?battery_percentage, #{battery_percentage},} , %R , %d %b | #{username}#{root} | #{hostname} '
|
||||
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,} "
|
||||
tmux_conf_theme_status_right=" #{prefix}#{mouse}#{pairing}#{synchronized}#{?battery_status,#{battery_status},}#{?battery_bar, #{battery_bar},}#{?battery_percentage, #{battery_percentage},} , %R , %d %b | #{username}#{root} | #{hostname} "
|
||||
|
||||
# status left style
|
||||
tmux_conf_theme_status_left_fg='#000000,#e4e4e4,#e4e4e4' # black, white , white
|
||||
tmux_conf_theme_status_left_bg='#ffff00,#ff00af,#00afff' # yellow, pink, white blue
|
||||
tmux_conf_theme_status_left_attr='bold,none,none'
|
||||
tmux_conf_theme_status_left_fg="$tmux_conf_theme_colour_6,$tmux_conf_theme_colour_7,$tmux_conf_theme_colour_8"
|
||||
tmux_conf_theme_status_left_bg="$tmux_conf_theme_colour_9,$tmux_conf_theme_colour_10,$tmux_conf_theme_colour_11"
|
||||
tmux_conf_theme_status_left_attr="bold,none,none"
|
||||
|
||||
# status right style
|
||||
tmux_conf_theme_status_right_fg='#8a8a8a,#e4e4e4,#000000' # light gray, white, black
|
||||
tmux_conf_theme_status_right_bg='#080808,#d70000,#e4e4e4' # dark gray, red, white
|
||||
tmux_conf_theme_status_right_attr='none,none,bold'
|
||||
tmux_conf_theme_status_right_fg="$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_15,$tmux_conf_theme_colour_16,$tmux_conf_theme_colour_17"
|
||||
tmux_conf_theme_status_right_attr="none,none,bold"
|
||||
|
||||
# pairing indicator
|
||||
tmux_conf_theme_pairing='👓 ' # U+1F453
|
||||
tmux_conf_theme_pairing_fg='none'
|
||||
tmux_conf_theme_pairing_bg='none'
|
||||
tmux_conf_theme_pairing_attr='none'
|
||||
tmux_conf_theme_pairing="⚇" # 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='⌨ ' # U+2328
|
||||
tmux_conf_theme_prefix_fg='none'
|
||||
tmux_conf_theme_prefix_bg='none'
|
||||
tmux_conf_theme_prefix_attr='none'
|
||||
tmux_conf_theme_prefix="⌨" # 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="↗" # 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='!'
|
||||
tmux_conf_theme_root_fg='none'
|
||||
tmux_conf_theme_root_bg='none'
|
||||
tmux_conf_theme_root_attr='bold,blink'
|
||||
tmux_conf_theme_root="!"
|
||||
tmux_conf_theme_root_fg="none"
|
||||
tmux_conf_theme_root_bg="none"
|
||||
tmux_conf_theme_root_attr="bold,blink"
|
||||
|
||||
# synchronized indicator
|
||||
tmux_conf_theme_synchronized='🔒' # U+1F512
|
||||
tmux_conf_theme_synchronized_fg='none'
|
||||
tmux_conf_theme_synchronized_bg='none'
|
||||
tmux_conf_theme_synchronized_attr='none'
|
||||
tmux_conf_theme_synchronized="⚏" # 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='·'
|
||||
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='auto'
|
||||
tmux_conf_battery_bar_length="auto"
|
||||
|
||||
# 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
|
||||
# - "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
|
||||
|
||||
# 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
|
||||
# - "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
|
||||
# - "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='⚡ ' # U+26A1
|
||||
#tmux_conf_battery_status_charging='🔌 ' # U+1F50C
|
||||
#tmux_conf_battery_status_discharging='🔋 ' # U+1F50B
|
||||
tmux_conf_battery_status_charging="↑" # U+2191
|
||||
tmux_conf_battery_status_discharging="↓" # U+2193
|
||||
#tmux_conf_battery_status_charging="🔌" # U+1F50C
|
||||
#tmux_conf_battery_status_discharging="🔋" # U+1F50B
|
||||
|
||||
# clock style (when you hit <prefix> + t)
|
||||
# you may want to use %I:%M %p in place of %R in tmux_conf_theme_status_right
|
||||
tmux_conf_theme_clock_colour='#00afff' # light blue
|
||||
tmux_conf_theme_clock_style='24'
|
||||
tmux_conf_theme_clock_colour="$tmux_conf_theme_colour_4"
|
||||
tmux_conf_theme_clock_style="24"
|
||||
|
||||
|
||||
# -- clipboard -----------------------------------------------------------------
|
||||
|
@ -266,8 +351,9 @@ tmux_conf_theme_clock_style='24'
|
|||
# in copy mode, copying selection also copies to the OS clipboard
|
||||
# - true
|
||||
# - false (default)
|
||||
# - disabled
|
||||
# on macOS, this requires installing reattach-to-user-namespace, see README.md
|
||||
# on Linux, this requires xsel or xclip
|
||||
# on Linux, this requires xsel, xclip or wl-copy
|
||||
tmux_conf_copy_to_os_clipboard=false
|
||||
|
||||
|
||||
|
@ -292,9 +378,81 @@ tmux_conf_copy_to_os_clipboard=false
|
|||
# set -g prefix C-a
|
||||
# bind C-a send-prefix
|
||||
|
||||
# if you don't want Oh my tmux! to alter a binding, use #!important
|
||||
# bind c new-window -c '#{pane_current_path}' #!important
|
||||
|
||||
# move status line to top
|
||||
#set -g status-position top
|
||||
|
||||
# Binding syncrhonize-panes shortcut
|
||||
bind C-s setw synchronize-panes\; display-message "synchronize-panes is now #{?pane_synchronized,on,off}"
|
||||
|
||||
# -- 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=true
|
||||
|
||||
# by default, reloading the configuration will update tpm and all plugins
|
||||
# - true (default)
|
||||
# - false
|
||||
tmux_conf_update_plugins_on_reload=true
|
||||
|
||||
# by default, reloading the configuration will uninstall tpm and plugins when no
|
||||
# plugins are enabled
|
||||
# - true (default)
|
||||
# - false
|
||||
tmux_conf_uninstall_plugins_on_reload=true
|
||||
|
||||
# /!\ the tpm bindings differ slightly from upstream:
|
||||
# - installing plugins: <prefix> + I
|
||||
# - uninstalling plugins: <prefix> + Alt + u
|
||||
# - updating plugins: <prefix> + u
|
||||
|
||||
# /!\ 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.
|
||||
|
||||
# # /!\ do not remove the following line
|
||||
# EOF
|
||||
#
|
||||
# # /!\ do not "uncomment" the functions: the leading "# " characters are needed
|
||||
#
|
||||
# weather() { # see https://github.com/chubin/wttr.in#one-line-output
|
||||
# curl -f -s -m 2 'wttr.in?format=3' || printf '\n' # /!\ make sure curl is installed
|
||||
# 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 '✔' || printf '✘'
|
||||
# }
|
||||
#
|
||||
# "$@"
|
||||
# # /!\ do not remove the previous line
|
||||
>>>>>>> fd1bbb56148101f4b286ddafd98f2ac2dcd69cd8
|
||||
|
|
137
README.md
137
README.md
|
@ -20,14 +20,18 @@ Installation
|
|||
|
||||
Requirements:
|
||||
|
||||
- tmux **`>= 2.1`** (soon `>= 2.4`) running inside Linux, Mac, OpenBSD, Cygwin
|
||||
or WSL
|
||||
- tmux **`>= 2.4`** running inside Linux, Mac, OpenBSD, Cygwin or WSL
|
||||
- awk, perl and sed
|
||||
- outside of tmux, `$TERM` must be set to `xterm-256color`
|
||||
|
||||
To install, run the following from your terminal: (you may want to backup your
|
||||
existing `~/.tmux.conf` first)
|
||||
⚠️ Before installing, you may want to backup your existing configuration.
|
||||
|
||||
You can install Oh my tmux! at any of the following locations:
|
||||
- `~`
|
||||
- `$XDG_CONFIG_HOME/tmux`
|
||||
- `~/.config/tmux`
|
||||
|
||||
Installing in `~`:
|
||||
```
|
||||
$ cd
|
||||
$ git clone https://github.com/JeiKeiLim/.tmux.git
|
||||
|
@ -35,18 +39,39 @@ $ ln -s -f .tmux/.tmux.conf
|
|||
$ cp .tmux/.tmux.conf.local .
|
||||
```
|
||||
|
||||
Then proceed to [customize] your `~/.tmux.conf.local` copy.
|
||||
Installing in `$XDG_CONFIG_HOME/tmux`:
|
||||
```
|
||||
$ git clone https://github.com/gpakosz/.tmux.git "/path/to/oh-my-tmux"
|
||||
$ mkdir -p "$XDG_CONFIG_HOME/tmux"
|
||||
$ ln -s "/path/to/oh-my-tmux/.tmux.conf" "$XDG_CONFIG_HOME/tmux/tmux.conf"
|
||||
$ cp "/path/to/oh-my-tmux/.tmux.conf.local" "$XDG_CONFIG_HOME/tmux/tmux.conf.local"
|
||||
```
|
||||
|
||||
[customize]: #enabling-the-powerline-look
|
||||
Installing in `~/.config/tmux`:
|
||||
```
|
||||
$ git clone https://github.com/gpakosz/.tmux.git "/path/to/oh-my-tmux"
|
||||
$ mkdir -p "~/.config/tmux"
|
||||
$ ln -s "/path/to/oh-my-tmux/.tmux.conf" "~/.config/tmux/tmux.conf"
|
||||
$ cp "/path/to/oh-my-tmux/.tmux.conf.local" "~/.config/tmux/tmux.conf.local"
|
||||
```
|
||||
⚠️ When installing `$XDG_CONFIG_HOME/tmux` or `~/.config/tmux`, the configuration
|
||||
file names don't have a leading `.` character.
|
||||
|
||||
❗️ You should never alter the main `.tmux.conf` or `tmux.conf` file. If you do,
|
||||
you're on your own. Instead, every customization should happen in your
|
||||
`.tmux.conf.local` or `tmux.conf.local` customization file copy.
|
||||
|
||||
If you're a Vim user, setting the `$EDITOR` environment variable to `vim` will
|
||||
enable and further customize the vi-style key bindings (see tmux manual).
|
||||
|
||||
If you're new to tmux, I recommend you read [tmux 2: Productive Mouse-Free
|
||||
If you're new to tmux, I recommend you to read [tmux 2: Productive Mouse-Free
|
||||
Development][bhtmux2] by [@bphogan].
|
||||
|
||||
[bhtmux2]: https://pragprog.com/book/bhtmux2/tmux-2
|
||||
Now proceed to [adjust] your `.local` customization file copy.
|
||||
|
||||
[bhtmux2]: https://pragprog.com/titles/bhtmux2/tmux-2
|
||||
[@bphogan]: https://twitter.com/bphogan
|
||||
[adjust]: #configuration
|
||||
|
||||
Troubleshooting
|
||||
---------------
|
||||
|
@ -70,23 +95,23 @@ Troubleshooting
|
|||
This can also happen on macOS when using iTerm2 and "Use Unicode version 9
|
||||
character widths" is enabled in `Preferences... > Profiles > Text`
|
||||
|
||||
For that reason, the default `~/.tmux.conf.local` file stopped using Unicode
|
||||
characters for which width changed in between Unicode 8.0 and 9.0 standards,
|
||||
as well as Emojis.
|
||||
For that reason, the default sample `.local` customization file stopped using
|
||||
Unicode characters for which width changed in between Unicode 8.0 and 9.0
|
||||
standards, as well as Emojis.
|
||||
|
||||
- **I installed Powerline and/or (patched) fonts but can't see Powerline
|
||||
symbols.**
|
||||
|
||||
First, you don't need to install Powerline. You only need fonts patched with
|
||||
Powerline symbols or the standalone `PowerlineSymbols.otf` font. Then make
|
||||
sure your `~/.tmux.conf.local` copy uses the right code points for
|
||||
sure your `.local` customization file copy uses the Powerline code points for
|
||||
`tmux_conf_theme_left_separator_XXX` values.
|
||||
|
||||
- **I'm using Bash On Windows (WSL), colors and Powerline look are broken.**
|
||||
- **I'm using Bash On Windows (WSL), colors and the Powerline look are broken.**
|
||||
|
||||
There is currently a [bug][1681] in the new console powering Bash On Windows
|
||||
preventing text attributes (bold, underscore, ...) to combine properly with
|
||||
colors. The workaround is to search your `~/.tmux.conf.local` copy and
|
||||
colors. The workaround is to search your `.local` customization file copy and
|
||||
replace attributes with `'none'`.
|
||||
|
||||
Also, until Window's console replaces its GDI based render with a DirectWrite
|
||||
|
@ -109,12 +134,12 @@ Features
|
|||
if available
|
||||
- laptop battery status line information
|
||||
- uptime status line information
|
||||
- optional highlight of focused pane (tmux `>= 2.1`)
|
||||
- optional highlight of focused pane
|
||||
- configurable new windows and panes behavior (optionally retain current path)
|
||||
- SSH/Mosh aware split pane (reconnects to remote server)
|
||||
- copy to OS clipboard (needs [`reattach-to-user-namespace`][reattach-to-user-namespace]
|
||||
on macOS, `xsel` or `xclip` on Linux)
|
||||
- support for 4-digit hexadecimal Unicode characters (requires `perl` or Bash >= 4.1.2)
|
||||
on macOS, `xsel`, `xclip`, or `wl-copy` on Linux)
|
||||
- support for 4-digit hexadecimal Unicode characters
|
||||
- [Facebook PathPicker][] integration if available
|
||||
- [Urlview][] integration if available
|
||||
|
||||
|
@ -151,8 +176,8 @@ list of key bindings:
|
|||
|
||||
This configuration uses the following bindings:
|
||||
|
||||
- `<prefix> e` opens `~/.tmux.conf.local` with the editor defined by the
|
||||
`$EDITOR` environment variable (defaults to `vim` when empty)
|
||||
- `<prefix> e` opens the `.local` customization file copy with the editor
|
||||
defined by the `$EDITOR` environment variable (defaults to `vim` when empty)
|
||||
- `<prefix> r` reloads the configuration
|
||||
- `C-l` clears both the screen and the tmux history
|
||||
|
||||
|
@ -198,14 +223,16 @@ Configuration
|
|||
-------------
|
||||
|
||||
While this configuration tries to bring sane default settings, you may want to
|
||||
customize it further to your needs. Instead of altering the `~/.tmux.conf` file
|
||||
and diverging from upstream, the proper way is to edit the `~/.tmux.conf.local`
|
||||
file.
|
||||
customize it further to your needs.
|
||||
|
||||
Please refer to the default `~/.tmux.conf.local` file to know more about
|
||||
variables you can adjust to alter different behaviors. Pressing `<prefix> e`
|
||||
will open `~/.tmux.conf.local` with the editor defined by the `$EDITOR`
|
||||
environment variable (defaults to `vim` when empty).
|
||||
❗️ Again, you should never alter the main `.tmux.conf` or `tmux.conf` file.
|
||||
If you do, you're on your own.
|
||||
|
||||
Please refer to the sample `.local` customization file to know more about the
|
||||
variables that allow you to alter different behaviors. Upon successful
|
||||
installation, pressing `<prefix> e` will open your `.local` customization file
|
||||
copy with the editor defined by the `$EDITOR` environment variable (defaults to
|
||||
`vim` when empty).
|
||||
|
||||
### Enabling the Powerline look
|
||||
|
||||
|
@ -227,12 +254,9 @@ To make use of these symbols, there are several options:
|
|||
[powerline patched fonts]: https://github.com/powerline/fonts
|
||||
[powerline font]: https://github.com/powerline/powerline/raw/develop/font/PowerlineSymbols.otf
|
||||
[terminal support]: http://powerline.readthedocs.io/en/master/usage.html#usage-terminal-emulators
|
||||
[Powerline manual]: http://powerline.readthedocs.org/en/latest/installation.html#fonts-installation
|
||||
|
||||
Please see the [Powerline manual] for further details.
|
||||
|
||||
Then edit the `~/.tmux.conf.local` file (`<prefix> e`) and adjust the following
|
||||
variables:
|
||||
Then edit your `.local` customization file copy (with `<prefix> e`) and adjust
|
||||
the following variables:
|
||||
|
||||
```
|
||||
tmux_conf_theme_left_separator_main='\uE0B0'
|
||||
|
@ -240,12 +264,16 @@ tmux_conf_theme_left_separator_sub='\uE0B1'
|
|||
tmux_conf_theme_right_separator_main='\uE0B2'
|
||||
tmux_conf_theme_right_separator_sub='\uE0B3'
|
||||
```
|
||||
|
||||
The [Powerline manual] contains further details on how to install fonts
|
||||
containing the Powerline symbols. You don't need to install Powerline itself
|
||||
though.
|
||||
|
||||
[Powerline manual]: http://powerline.readthedocs.org/en/latest/installation.html#fonts-installation
|
||||
|
||||
### Configuring the status line
|
||||
|
||||
Contrary to the first iterations of this configuration, by now you have total
|
||||
control on the content and order of `status-left` and `status-right`.
|
||||
|
||||
Edit the `~/.tmux.conf.local` file (`<prefix> e`) and adjust the
|
||||
Edit your `.local` customization file copy (`<prefix> e`) and adjust the
|
||||
`tmux_conf_theme_status_left` and `tmux_conf_theme_status_right` variables to
|
||||
your own preferences.
|
||||
|
||||
|
@ -273,19 +301,52 @@ This configuration supports the following builtin variables:
|
|||
- `#{username_ssh}`: SSH aware username information, blank when not connected
|
||||
to a remote server through SSH/Mosh
|
||||
|
||||
Beside custom variables mentioned above, the `tmux_conf_theme_status_left` and
|
||||
Beside the variables mentioned above, the `tmux_conf_theme_status_left` and
|
||||
`tmux_conf_theme_status_right` variables support usual tmux syntax, e.g. using
|
||||
`#()` to call an external command that inserts weather information provided by
|
||||
[wttr.in]:
|
||||
```
|
||||
tmux_conf_theme_status_right='#{prefix}#{pairing}#{synchronized} #(curl wttr.in?format=3) , %R , %d %b | #{username}#{root} | #{hostname} '
|
||||
tmux_conf_theme_status_right='#{prefix}#{pairing}#{synchronized} #(curl -m 1 wttr.in?format=3 2>/dev/null; sleep 900) , %R , %d %b | #{username}#{root} | #{hostname} '
|
||||
```
|
||||
The `sleep 900` call makes sure the network request is issued at most every 15
|
||||
minutes whatever the value of `status-interval`.
|
||||
|
||||

|
||||
|
||||
[wttr.in]: https://github.com/chubin/wttr.in#one-line-output
|
||||
|
||||
### Accessing the macOS clipboard from within tmux sessions
|
||||
💡 You can also define your own custom variables by writing special functions,
|
||||
see the sample `.local` customization file for instructions.
|
||||
|
||||
Finally, remember `tmux_conf_theme_status_left` and
|
||||
`tmux_conf_theme_status_right` end up being given to tmux as `status-left` and
|
||||
`status-right` which means they're passed through `strftime()`. As such, the `%`
|
||||
character has a special meaning and needs to be escaped by doubling it, e.g.
|
||||
```
|
||||
tmux_conf_theme_status_right='#(echo foo %% bar)'
|
||||
```
|
||||
See also `man 3 strftime`.
|
||||
|
||||
### Using TPM plugins
|
||||
|
||||
This configuration now comes with built-in [TPM] support:
|
||||
- use the `set -g @plugin ...` syntax to enable a plugin
|
||||
- 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, see instructions above 👆
|
||||
- ⚠️ do not add `set -g @plugin 'tmux-plugins/tpm'` to any configuration file
|
||||
- ⛔️ do not add `run '~/.tmux/plugins/tpm/tpm'` to any configuration file
|
||||
|
||||
⚠️ The TPM bindings differ slightly from upstream:
|
||||
- installing plugins: `<prefix> + I`
|
||||
- uninstalling plugins: `<prefix> + Alt + u`
|
||||
- updating plugins: `<prefix> + u`
|
||||
|
||||
See the sample `.local` customization file for instructions.
|
||||
|
||||
[TPM]: https://github.com/tmux-plugins/tpm
|
||||
|
||||
### Accessing the macOS clipboard from within tmux sessions (tmux `< 2.6`)
|
||||
|
||||
[Chris Johnsen created the `reattach-to-user-namespace`
|
||||
utility][reattach-to-user-namespace] that makes `pbcopy` and `pbpaste` work
|
||||
|
|
Loading…
Add table
Reference in a new issue