This commit is contained in:
Sophie Schiller 2023-05-24 23:53:12 +02:00
parent e3341005a7
commit eb61cfe62e
2 changed files with 219 additions and 56 deletions

View file

@ -1,39 +1,4 @@
# https://github.com/seebi/tmux-colors-solarized/blob/master/tmuxcolors-256.conf ### keybindings
set-option -g status-style bg=colour235,fg=colour136
# set window split
bind-key v split-window -h
bind-key b split-window
# default window title colors
set-window-option -g window-status-style fg=colour39,bg=default,dim
# active window title colors
set-window-option -g window-status-current-style fg=colour235,bg=colour113,bright
# pane border
set-option -g pane-border-style fg=colour235 #base02
set-option -g pane-active-border-style fg=colour240 #base01
# message text
set-option -g message-style bg=colour235 #base02
set-option -g message-style fg=colour166 #orange
# pane number display
set-option -g display-panes-active-colour colour33 #blue
set-option -g display-panes-colour colour166 #orange
# clock
set-window-option -g clock-mode-colour green #green
set -g status-interval 10
set -g status-justify left # center align window list
set -g status-left-length 14
set -g status-right-length 140
#set -g status-left '#[default]〘 '
set -g status-left '#[fg=green,bright]#(uname -r | cut -c 1-8)#[default]〘'
set -g status-right "〙🔋 #(upower -i /org/freedesktop/UPower/devices/battery_BAT1 | grep time | awk '{print $4, $5}' | sed 's/hours/h/; s/minutes/m/; s/,/\./') #[fg=red,bg=default]⇑#(uptime -p |sed 's/\ week/w/; s/\ days/d/; s/\ day/d/; s/\ hours/h/; s/\ minutes/m/; s/\ minute/m/; s/,//g; s/up//') #[fg=green,bg=default]⎋ #(cat /proc/loadavg | awk '{print $1,$2,$3}') #[fg=blue]⌚ %Y-%m-%d #[fg=white,bg=default]⌚ %H:%M #[fg=green]⚼ #H"
# C-b is not acceptable -- Vim uses it # C-b is not acceptable -- Vim uses it
set-option -g prefix C-a set-option -g prefix C-a
bind-key C-a last-window bind-key C-a last-window
@ -59,8 +24,6 @@ set -g visual-activity on
# Vi copypaste mode # Vi copypaste mode
set-window-option -g mode-keys vi set-window-option -g mode-keys vi
#bind-key -t vi-copy 'v' begin-selection
#bind-key -t vi-copy 'y' copy-selection
# set to main-horizontal, 60% height for main pane # set to main-horizontal, 60% height for main pane
@ -71,29 +34,58 @@ bind-key C command-prompt -p "Name of new window: " "new-window -n '%%'"
# reload config # reload config
bind r source-file ~/.tmux.conf \; display-message "Config reloaded..." bind r source-file ~/.tmux.conf \; display-message "Config reloaded..."
# set window split
bind-key v split-window -h
bind-key b split-window
# auto window rename # auto window rename
set-window-option -g automatic-rename set-window-option -g automatic-rename
# color ####################################
set -g default-terminal "tmux-256color" # new theme
# status bar
#set-option -g status-utf8 on
# https://github.com/edkolev/dots/blob/master/tmux.conf set-window-option -g status-style bg=colour236,fg=white
# Updates for tmux 1.9's current pane splitting paths.
# from powerline
run-shell "tmux set-environment -g TMUX_VERSION_MAJOR $(tmux -V | cut -d' ' -f2 | cut -d'.' -f1 | sed 's/[^0-9]*//g')"
run-shell "tmux set-environment -g TMUX_VERSION_MINOR $(tmux -V | cut -d' ' -f2 | cut -d'.' -f2 | sed 's/[^0-9]*//g')"
# rm mouse mode fail ###################################
if-shell '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -ge 1\) -o #{$TMUX_VERSION_MAJOR} -gt 2' 'set -g mouse off' # old theme
if-shell '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -lt 1\) -o #{$TMUX_VERSION_MAJOR} -le 1' 'set -g mode-mouse off' # ### colors
# set -g default-terminal "tmux-256color"
# fix pane_current_path on new window and splits # set -ag terminal-overrides ",xterm-256color:RGB"
if-shell "#{$TMUX_VERSION_MAJOR} -gt 1 -o \( #{$TMUX_VERSION_MAJOR} -eq 1 -a #{$TMUX_VERSION_MINOR} -ge 8 \)" 'unbind c; bind c new-window -c "#{pane_current_path}"' #
if-shell "#{$TMUX_VERSION_MAJOR} -gt 1 -o \( #{$TMUX_VERSION_MAJOR} -eq 1 -a #{$TMUX_VERSION_MINOR} -ge 8 \)" "unbind '\"'; bind '\"' split-window -v -c '#{pane_current_path}'" # set-option -g status-style bg=colour235,fg=colour136
if-shell "#{$TMUX_VERSION_MAJOR} -gt 1 -o \( #{$TMUX_VERSION_MAJOR} -eq 1 -a #{$TMUX_VERSION_MINOR} -ge 8 \)" 'unbind v; bind v split-window -h -c "#{pane_current_path}"' #
if-shell "#{$TMUX_VERSION_MAJOR} -gt 1 -o \( #{$TMUX_VERSION_MAJOR} -eq 1 -a #{$TMUX_VERSION_MINOR} -ge 8 \)" 'unbind %; bind % split-window -h -c "#{pane_current_path}"' # # default window title colors
# set-window-option -g window-status-style fg=colour39,bg=default,dim
#
# # active window title colors
# set-window-option -g window-status-current-style fg=colour235,bg=colour113,bright
#
# # pane border
# set-option -g pane-border-style fg=colour235 #base02
# set-option -g pane-active-border-style fg=colour240 #base01
#
# # message text
# set-option -g message-style bg=colour235 #base02
# set-option -g message-style fg=colour166 #orange
#
# # pane number display
# set-option -g display-panes-active-colour colour33 #blue
# set-option -g display-panes-colour colour166 #orange
# # clock
# set-window-option -g clock-mode-colour green #green
#
#
# ### status
# # status bar
# #set-option -g status-utf8 on
# set -g status-interval 10
# set -g status-justify left # center align window list
# set -g status-left-length 14
# set -g status-right-length 140
# #set -g status-left '#[default]〘 '
# set -g status-left '#[fg=green,bright]#(uname -r | cut -c 1-8)#[default]〘'
# set -g status-right "〙🔋 #(upower -i /org/freedesktop/UPower/devices/battery_BAT1 | grep time | awk '{print $4, $5}' | sed 's/hours/h/; s/minutes/m/; s/,/\./') #[fg=red,bg=default]⇑#(uptime -p |sed 's/\ week/w/; s/\ days/d/; s/\ day/d/; s/\ hours/h/; s/\ minutes/m/; s/\ minute/m/; s/,//g; s/up//') #[fg=green,bg=default]⎋ #(cat /proc/loadavg | awk '{print $1,$2,$3}') #[fg=blue]⌚ %Y-%m-%d #[fg=white,bg=default]⌚ %H:%M #[fg=green]⚼ #H"
#

171
powerline-theme.tmux Normal file
View file

@ -0,0 +1,171 @@
#!/bin/sh
#
# Powerline symbols
#
: ${TMUX_POWERLINE_SYMBOLS:=unicode}
case "$TMUX_POWERLINE_SYMBOLS" in
powerline )
# Powerline glyphs at U+E000-U+F8FF range ("Private Use Area")
# These are the code points used in the new universal Powerline
tmux_powerline_symbol_right_full=""
tmux_powerline_symbol_right_thin=""
tmux_powerline_symbol_left_full=""
tmux_powerline_symbol_left_thin=""
;;
vim-powerline )
# Powerline glyphs at U+2B60-U+2BFF range ("Miscellaneous Symbols and Arrows")
# These are the code points used in Lokaltog/vim-powerline
tmux_powerline_symbol_right_full="⮀"
tmux_powerline_symbol_right_thin="⮁"
tmux_powerline_symbol_left_full="⮂"
tmux_powerline_symbol_left_thin="⮃"
;;
unicode )
# Unicode glyphs which don't require patched font
tmux_powerline_symbol_right_full=""
tmux_powerline_symbol_right_thin="│"
tmux_powerline_symbol_left_full=""
tmux_powerline_symbol_left_thin="│"
;;
ascii )
# ASCII glyphs which don't require patched font or Unicode support
tmux_powerline_symbol_right_full=""
tmux_powerline_symbol_right_thin="|"
tmux_powerline_symbol_left_full=""
tmux_powerline_symbol_left_thin="|"
;;
none | * )
# No symbols.
tmux_powerline_symbol_right_full=""
tmux_powerline_symbol_right_thin=""
tmux_powerline_symbol_left_full=""
tmux_powerline_symbol_left_thin=""
esac
#
# Show flag if terminal reports support for fewer than 8 colors
#
# Current: *
# Previous: -
# Activity/Silence: #
# Bell: !
# Content: +
#
enable_flag()
{
tmux_powerline_flag="#F"
}
disable_flag()
{
tmux_powerline_flag=""
}
# Support `tput Co` too?
colors="$(tput colors)"
if [ "${TMUX_POWERLINE_FLAG}" = "on" ]; then
# Force enable flag
enable_flag
elif [ "${TMUX_POWERLINE_FLAG}" = "off" ]; then
# Force disable flag
disable_flag
else
# Dynamically enable flag
if [ "$colors" -lt 8 ]; then
# Fewer than n colors supported
enable_flag
else
disable_flag
fi
fi
#
# Status bar style
#
tmux set-window-option -g status-style bg=colour236,fg=white
#
# Status bar left side
#
# Show session name?
if [ "${TMUX_POWERLINE_SHOW_SESSION_NAME}" = "on" ]; then
tmux set-window-option -g status-left "#[bg=colour240,fg=white] #S #[fg=colour236,reverse]${tmux_powerline_symbol_right_full}"
tmux set-window-option -g status-left-length 40
else
tmux set-window-option -g status-left ""
#tmux set-window-option -g status-left-length 40
fi
#
# Status bar right side
#
tmux set-window-option -g status-right "#[fg=colour244]#S:#I:#P #[fg=colour240]${tmux_powerline_symbol_left_full}#[fg=colour231,bg=colour240] #H #[fg=colour252]${tmux_powerline_symbol_left_full}#[fg=black,bg=colour252,nobold] %b %d %a #[bold]%H:%M "
tmux set-window-option -g status-right-length 80
#
# Status bar window currently active
#
if [ "${TMUX_POWERLINE_COMPACT_CURRENT}" = "on" ]; then
tmux set-window-option -g window-status-current-format "#[fg=colour236]${tmux_powerline_symbol_right_full}#[default,fg=colour231,bold] #I${tmux_powerline_flag} #[default,fg=colour236,reverse]${tmux_powerline_symbol_right_full}"
else
tmux set-window-option -g window-status-current-format "#[fg=colour236]${tmux_powerline_symbol_right_full}#[default,bold] #I${tmux_powerline_flag} #[fg=colour123,reverse]${tmux_powerline_symbol_right_full}#[default]#[bg=colour123] #W #[fg=colour236,reverse]${tmux_powerline_symbol_right_full}"
fi
# colour33 is green
tmux set-window-option -g window-status-current-style none,bg=colour33,fg=black
#
# Status bar window in background (not active)
#
if [ "${TMUX_POWERLINE_COMPACT_OTHER}" = "on" ]; then
tmux set-window-option -g window-status-format "#[fg=colour236,nounderscore]${tmux_powerline_symbol_right_full}#[default,bold,nounderscore] #I${tmux_powerline_flag} #[fg=colour236,reverse]${tmux_powerline_symbol_right_full}"
else
tmux set-window-option -g window-status-format "#[fg=colour236,nounderscore]${tmux_powerline_symbol_right_full}#[default,bold,nounderscore] #I${tmux_powerline_flag} #[fg=colour240,reverse]${tmux_powerline_symbol_right_full}#[default]#[bg=colour240]#[nounderscore] #[default]#[fg=colour231,bg=colour240]#W#[nounderscore] #[fg=colour236,reverse]${tmux_powerline_symbol_right_full}"
fi
# Black on green
tmux set-window-option -g window-status-style none,bg=colour76,fg=black
# Black on white
#tmux set-window-option -g window-status-style bg=colour231,fg=black
# Green more alike non-256color
#tmux set-window-option -g window-status-style bg=colour40
#
# Status bar window last active (Tmux 1.8+)
#
tmux set-window-option -g window-status-last-style none,bg=cyan,fg=black
#
# Status bar window with activity/silence (monitor-activity, monitor-silence)
#
# colour127 is pink
tmux set-window-option -g window-status-activity-style bold,bg=colour127,fg=black
#
# Status bar window with bell triggered
#
# red is urgent
tmux set-window-option -g window-status-bell-style bold,bg=red,fg=black
#
# Status bar window with content found (monitor-content) (Tmux <2.0)
#
#tmux set-window-option -g window-status-content-attr bold #,underscore
#tmux set-window-option -g window-status-content-bg colour226 # Yellow because search highlighting usually is
#tmux set-window-option -g window-status-content-fg black