Memon2410
4/17/2019 - 2:44 PM

.tmux.conf

# helps in faster key repetition
set -sg escape-time 0

# start session number from 1 rather than 0
set -g base-index 1

# start pane number from 1 similar to windows
set -g pane-base-index 1

# Make the current window the first window
bind T swap-window -t 1

# source .tmux.conf file
bind r source-file ~/.tmux.conf \; display "Configuration Reloaded!"

# dont mess up with other ctrl-a options by pressing ctrl-a twice
bind C-a send-prefix

# vertical split
bind | split-window -h

# horizontal split
bind - split-window -v

# pane movement similar to vim
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

# resize panes
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5

# to cycle through windows
bind -r C-h select-window -t :-
bind -r C-l select-window -t :+
bind b previous-window

# Toggle mouse on
bind m \
    set -g mode-mouse on \;\
    set -g mouse-resize-pane on \;\
    set -g mouse-select-pane on \;\
    set -g mouse-select-window on \;\
    display 'Mouse: ON'

# Toggle mouse off
bind M \
    set -g mode-mouse off \;\
    set -g mouse-resize-pane off \;\
    set -g mouse-select-pane off \;\
    set -g mouse-select-window off \;\
    display 'Mouse: OFF'
#Note: hold shift key to select the text using mouse

# set 256 color
set -g default-terminal "screen-256color"

# monitor activities in other windows
setw -g monitor-activity on
set -g visual-activity on

# enable vi mode
setw -g mode-keys vi

# remap copy paste keys
unbind [
bind y copy-mode
unbind p
bind p paste-buffer

# copy to system clipboard
bind C-c run "tmux save-buffer - | xclip -i -sel clipboard"

# paste from system clipboard
bind C-v run "tmux set-buffer \"$(xclip -o -sel clipboard)\"; tmux paste-buffer"

# maximizing and restoring panes
unbind Up
bind Up new-window -d -n tmp \; swap-pane -s tmp.1 \; select-window -t tmp
unbind Down
bind Down last-window \; swap-pane -s tmp.1 \; kill-window -t tmp


# switch between sessions
bind -r ( switch-client -p
bind -r ) switch-client -n

# set zsh as default shell
set -g default-command /bin/zsh
set -g default-shell /bin/zsh

# recording  program output to a log
bind P pipe-pane -o "cat >>~/#W.log" \; display "Toggled logging to ~/#W.log"


# don't allow tmux to rename the window based on commands running
set-window-option -g allow-rename off
#
set -g lock-after-time 300
set -g lock-command "cmatrix -s"
# include status line powerline theme

# status bar theme

set -g status-bg 'colour235'
set -g message-command-style 'bg=colour222'
set -g status-justify 'centre'
set -g status-left-length '100'
set -g status 'on'
set -g pane-active-border-style 'fg=colour154'
set -g message-style 'bg=colour238'
set -g status-right-length '100'
set -g status-right-style 'none'
set -g message-style 'fg=colour222'
set -g message-command-style 'bg=colour238'
set -g status-style 'none'
set -g pane-border-style 'fg=colour238'
set -g status-left-style 'none'
setw -g window-status-style 'bg=colour121'
setw -g window-status-style 'none'
setw -g window-status-activity-style 'bg=colour235'
setw -g window-status-activity-style 'none'
setw -g window-status-activity-style 'fg=colour154'
setw -g window-status-separator ''
setw -g window-status-style 'bg=colour235'
set -g status-left '#[fg=colour232,bg=colour154] #S #[fg=colour154,bg=colour238,nobold,nounderscore,noitalics]#[fg=colour222,bg=colour238] #W #[fg=colour238,bg=colour235,nobold,nounderscore,noitalics]#[fg=colour121,bg=colour235] #(whoami)  #(uptime  | cut -d " " -f 1,2,3) #[fg=colour235,bg=colour235,nobold,nounderscore,noitalics]'
set -g status-right '#[fg=colour235,bg=colour235,nobold,nounderscore,noitalics]#[fg=colour121,bg=colour235] %r  %a  %Y #[fg=colour238,bg=colour235,nobold,nounderscore,noitalics]#[fg=colour222,bg=colour238] #H #[fg=colour154,bg=colour238,nobold,nounderscore,noitalics]#[fg=colour232,bg=colour154] #(rainbarf --battery --remaining --no-rgb) '
setw -g window-status-format '#[fg=colour235,bg=colour235,nobold,nounderscore,noitalics]#[default] #I  #W #[fg=colour235,bg=colour235,nobold,nounderscore,noitalics]'
setw -g window-status-current-format '#[fg=colour235,bg=colour238,nobold,nounderscore,noitalics]#[fg=colour222,bg=colour238] #I  #W  #F #[fg=colour238,bg=colour235,nobold,nounderscore,noitalics]'