Update tmux config to work more like my screen config

Change status format
Don't update terminal window titles (X11 term app, not tmux window)
Add load averages to status
This commit is contained in:
Alan Orth 2012-09-02 23:30:09 +03:00
parent dba70b8f53
commit 354c8dafff
1 changed files with 95 additions and 31 deletions

View File

@ -1,42 +1,106 @@
# change command prefix to control-a (like screen)
unbind-key C-b
set-option -g prefix C-a
unbind C-b
set -g prefix ^A
bind a send-prefix
# binds for screen-like behavior
bind-key C-a last-window
bind-key p previous-window
bind-key C-p previous-window
bind-key n next-window
bind-key C-n next-window
bind-key k confirm-before kill-window
bind-key Escape copy-mode
bind-key A command-prompt "rename-window %%"
bind-key a send-prefix # to allow ^a to get to the beginning of the line in bash
# Bind appropriate commands similar to screen.
# lockscreen ^X x
unbind ^X
bind ^X lock-server
unbind x
bind x lock-server
# terminal settings
set-option -g history-limit 4096
set-window-option -g mode-mouse on
set-window-option -g mode-keys vi
# screen ^C c
unbind ^C
bind ^C new-window
unbind c
bind c new-window
# dynamic window titles
set-option -g set-titles on
set-option -g set-titles-string '#S:#I.#P #W' # window number,program name,active (or not)
set-window-option -g automatic-rename on # auto name
# detach ^D d
unbind ^D
bind ^D detach
# displays *
unbind *
bind * list-clients
# next ^@ ^N sp n
unbind ^@
bind ^@ next-window
unbind ^N
bind ^N next-window
unbind " "
bind " " next-window
unbind n
bind n next-window
# title A
unbind A
bind A command-prompt "rename-window %%"
# other ^A
unbind ^A
bind ^A last-window
# prev ^H ^P p ^?
unbind ^H
bind ^H previous-window
unbind ^P
bind ^P previous-window
unbind p
bind p previous-window
unbind BSpace
bind BSpace previous-window
# windows ^W w
unbind ^W
bind ^W list-windows
unbind w
bind w list-windows
# kill K k
unbind K
bind K confirm-before "kill-window"
unbind k
bind k confirm-before "kill-window"
# redisplay ^L l
unbind ^L
bind ^L refresh-client
unbind l
bind l refresh-client
# " windowlist -b
unbind '"'
bind '"' choose-window
# Rather than constraining window size to the maximum size of any client
# connected to the *session*, constrain window size to the maximum size
# of any client connected to *that window*. Much more reasonable.
set-window-option -g aggressive-resize on
# show the bell in all windows
set-option -g bell-action any
set-option -g visual-bell on
# status bar
set-option -g status-utf8 on
set-option -g status-justify left
set-option -g status-bg blue
set-option -g status-fg white
set-option -g status-interval 5
set-option -g status-left '#[default]'
set-option -g status-right '#[fg=cyan]#(whoami)@#H #[fg=red]#(cut -d " " -f 1-3 /proc/loadavg) #[fg=yellow]%m/%d %R'
set-option -g status-left ''
set-option -g status-right '#[fg=colour47]#H #[fg=red]#(cut -d " " -f 1-3 /proc/loadavg) #[fg=colour227]%Y-%m-%d %H:%M#[default]'
# window settings
set-option -g visual-activity on
set-window-option -g monitor-activity on
set-window-option -g window-status-current-bg red
# terminal messages, like "bell in terminal 1"
set-option -g message-fg black
set-option -g message-bg white
# Highlight active window
set-window-option -g window-status-current-fg white
set-window-option -g window-status-current-bg red
set-window-option -g window-status-bell-attr default
set-window-option -g window-status-bell-fg yellow
# clock
set-window-option -g clock-mode-style 24
# scrollback buffer
set-option -g history-limit 4096
# hijack the TERM variable for shells inside tmux
set-option -g default-terminal "screen-256color"