diff --git a/.tmux.2.9+.conf b/.tmux.2.9+.conf new file mode 100644 index 0000000..8ebf9e6 --- /dev/null +++ b/.tmux.2.9+.conf @@ -0,0 +1,150 @@ +## Prefix like in screen +set -g prefix 'C-a' + +## Use xterm keys (makes eg. Ctrl+Arrow navigate words) +set-window-option -g xterm-keys on + +## List of plugins +# For this to work you need to install https://github.com/tmux-plugins/tpm +set -g @plugin 'tmux-plugins/tpm' +set -g @plugin 'tmux-plugins/tmux-sensible' +set -g @plugin 'tmux-plugins/tmux-resurrect' +set -g @plugin 'tmux-plugins/tmux-continuum' +set -g @plugin 'tmux-plugins/tmux-pain-control' +set -g @plugin 'tmux-plugins/tmux-yank' +set -g @plugin 'tmux-plugins/tmux-sessionist' +set -g @plugin 'knakayama/tmux-man' +set -g @plugin 'knakayama/tmux-newline-detector' +set -g @plugin 'anghootys/tmux-ip-address' +set -g @plugin 'tmux-plugins/tmux-prefix-highlight' + +# List of disabled plugins on some reasons +#set -g @plugin 'thewtex/tmux-mem-cpu-load' +#set -g @plugin 'b0o/tmux-autoreload' +#set -g @plugin 'ofirgall/tmux-window-name' +#set -g @plugin 'tmux-plugins/tmux-sidebar' +#set -g @treemux-tree-nvim-init-file '~/.tmux/plugins/treemux/configs/treemux_init.lua' +#set -g @plugin 'kiyoon/treemux' +#set -g @plugin 'leighmcculloch/tmux-colours-superhero' +#run-shell "powerline-daemon -q" +#source "/usr/share/powerline/bindings/tmux/powerline.conf" + +## Plugin configuration +set -g @continuum-restore 'on' +set -g @continuum-save-interval '5' +set -g @resurrect-capture-pane-contents 'on' +set -g @yank_selection 'primary' +set -g @man-size '40%' +set -g @man-orientation 'h' +set -g @man-shell-interactive 'off' +#set-option -g @tmux-autoreload-entrypoints '~/.tmux.conf' +#set -g @tmux-autoreload-quiet 1 +#set -g @sidebar-tree-position 'right' + +# True colors (via: https://jdhao.github.io/2018/10/19/tmux_nvim_true_color/ ) +set -g default-terminal "screen-256color" +# tell Tmux that outside terminal supports true color +set -ag terminal-overrides ",alacritty:RGB" + +# --- START colours superhero --- + +# not suppoerted option +#setw -g utf8 on + +# Update Interval +set -g status-interval 1 + +# Status bar +# not suppoerted option +#set -g status-utf8 on +set -g status-bg default +set -g status-fg white + +# Status bar - left side +set -g status-left '' + +# Status bar - right side +set -g status-right-length 100 +set -g status-right-style fg=black,bold +set -g status-right '#{prefix_highlight} #{?window_zoomed_flag,#[fg=colour178]ZOOMED #[fg=colour238]• ,}#[fg=colour178]#h #[fg=colour238]• #[fg=colour178]#{ip_address} #[fg=colour238]• #[fg=colour178]%a %b %d #[fg=colour178]%I:%M%P ' + +# Window status - not the current window +set -g window-status-style bg=default,fg=white,none +set -g window-status-format '#[fg=colour214,bg=colour235] #I #[fg=white,bg=colour236] #(pwd="#{pane_current_path}"; echo ${pwd####*/}) #W #[default]' + +# Window status - current window +set -g window-status-current-style none +set -g window-status-current-format '#[fg=black,bg=colour214] #I #[fg=brightwhite,bg=colour238] #(pwd="#{pane_current_path}"; echo ${pwd####*/}) #W #[default]' + +# Pane borders +set -g pane-border-style bg=default,fg=colour235 +set -g pane-active-border-style bg=default,fg=colour214 + +# Pane number display +set-option -g display-panes-active-colour colour214 +set-option -g display-panes-colour colour240 + +# --- END colours superhero --- + +## Windows style +#set-option -g status-style fg=yellow,bg=default +#set-window-option -g pane-active-border-style '' + +## A bit more space in right status bar +#set -g status-right-length 50 + +## Windows status style +#set -g status-style "bg=#4c566a,fg=#eceff4" +#set -g status-left "#[fg=#bf616a,bg=#ebcb8b,bold] #S " +#set -g status-right "#{prefix_highlight} #[bg=#a3be8c,fg=black,bold] #U #[bg=#ebcb8b,fg=#bf616a,bold] #h " +#setw -g window-status-format "#[fg=#81a1c1,bg=#4c566a] #I:#W " +#setw -g window-status-current-format "#[fg=#2e3440,bg=#81a1c1,bold] #I:#W " +#setw -g window-status-separator "" + +## Rename windows to fit current application +#setw -g automatic-rename on + +# Use zsh regardless of default settings +if-shell 'test -x /usr/bin/zsh' 'set-option -g default-shell /usr/bin/zsh' + +# switch panes using Alt-arrow without prefix +bind -n M-Left select-pane -L +bind -n M-Right select-pane -R +bind -n M-Up select-pane -U +bind -n M-Down select-pane -D + +## Mouse On by default +set -g mouse on + +# PageUp/PageDown works for scrolling +bind-key -T root PPage if-shell -F "#{alternate_on}" "send-keys PPage" "copy-mode -e; send-keys PPage" +bind-key -T copy-mode-vi PPage send-keys -X page-up +bind-key -T copy-mode-vi NPage send-keys -X page-down + +# Same for the mouse scroll button +bind-key -T root WheelUpPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; copy-mode -e; send-keys -M" +bind-key -T root WheelDownPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; send-keys -M" +bind-key -T copy-mode-vi WheelUpPane send-keys -X halfpage-up +bind-key -T copy-mode-vi WheelDownPane send-keys -X halfpage-down + +# Tmux config reload +bind r source-file ~/.tmux.conf + +# Toggle prefix on/off with F12 (for nested remote sessions) +bind -T root F12 \ + set prefix None \;\ + set key-table off \;\ + if -F '#{pane_in_mode}' 'send-keys -X cancel' \;\ + refresh-client -S \;\ + +bind -T off F12 \ + set -u prefix \;\ + set -u key-table \;\ + refresh-client -S + +# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) +if "test ! -d ~/.tmux/plugins/tpm" \ + "run 'git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm && ~/.tmux/plugins/tpm/bin/install_plugins'" +run '~/.tmux/plugins/tpm/tpm' + +# vim: se ft=tmux :