1*0a6a1f1dSLionel Sambuc# Id: t-williams.conf,v 1.1 2009-11-02 18:59:28 nicm Exp 2eda6f593SDavid van Moolenbroek# 3eda6f593SDavid van Moolenbroek# ~/.tmux.conf - tmux terminal multiplexer config 4eda6f593SDavid van Moolenbroek# Thayer Williams (http://cinderwick.ca) 5eda6f593SDavid van Moolenbroek# "Feel free to do whatever you like with it." 6eda6f593SDavid van Moolenbroek 7eda6f593SDavid van Moolenbroek# I typically start tmux from ~/.xinitrc with the following: 8eda6f593SDavid van Moolenbroek# 9eda6f593SDavid van Moolenbroek# urxvt -e bash -c "tmux attach -d -t mysession" & 10eda6f593SDavid van Moolenbroek# 11eda6f593SDavid van Moolenbroek# and recall it any time thereafter with xbindkeys (Mod4+s): 12eda6f593SDavid van Moolenbroek# 13eda6f593SDavid van Moolenbroek# "urxvt -e bash -c 'tmux attach -d -t mysession'" 14eda6f593SDavid van Moolenbroek# m:0x50 + c:39 15eda6f593SDavid van Moolenbroek 16eda6f593SDavid van Moolenbroek 17eda6f593SDavid van Moolenbroek# set prefix key to ctrl+a until I have time to adapt 18eda6f593SDavid van Moolenbroekunbind C-b 19eda6f593SDavid van Moolenbroekset -g prefix C-a 20eda6f593SDavid van Moolenbroek 21eda6f593SDavid van Moolenbroek# send the prefix to client inside window (ala nested sessions) 22eda6f593SDavid van Moolenbroekbind-key a send-prefix 23eda6f593SDavid van Moolenbroek 24eda6f593SDavid van Moolenbroek# toggle last window like screen 25eda6f593SDavid van Moolenbroekbind-key C-a last-window 26eda6f593SDavid van Moolenbroek 27eda6f593SDavid van Moolenbroek# confirm before killing a window or the server 28eda6f593SDavid van Moolenbroekbind-key k confirm kill-window 29eda6f593SDavid van Moolenbroekbind-key K confirm kill-server 30eda6f593SDavid van Moolenbroek 31eda6f593SDavid van Moolenbroek# toggle statusbar 32eda6f593SDavid van Moolenbroekbind-key b set-option status 33eda6f593SDavid van Moolenbroek 34eda6f593SDavid van Moolenbroek# ctrl+left/right cycles thru windows 35eda6f593SDavid van Moolenbroekbind-key -n C-right next 36eda6f593SDavid van Moolenbroekbind-key -n C-left prev 37eda6f593SDavid van Moolenbroek 38eda6f593SDavid van Moolenbroek# open a man page in new window 39eda6f593SDavid van Moolenbroekbind / command-prompt "split-window 'exec man %%'" 40eda6f593SDavid van Moolenbroek 41eda6f593SDavid van Moolenbroek# quick view of processes 42eda6f593SDavid van Moolenbroekbind '~' split-window "exec htop" 43eda6f593SDavid van Moolenbroek 44eda6f593SDavid van Moolenbroek# scrollback buffer n lines 45eda6f593SDavid van Moolenbroekset -g history-limit 5000 46eda6f593SDavid van Moolenbroek 47eda6f593SDavid van Moolenbroek# listen for activity on all windows 48eda6f593SDavid van Moolenbroekset -g bell-action any 49eda6f593SDavid van Moolenbroek 50eda6f593SDavid van Moolenbroek# on-screen time for display-panes in ms 51eda6f593SDavid van Moolenbroekset -g display-panes-time 2000 52eda6f593SDavid van Moolenbroek 53eda6f593SDavid van Moolenbroek# start window indexing at one instead of zero 54eda6f593SDavid van Moolenbroekset -g base-index 1 55eda6f593SDavid van Moolenbroek 56eda6f593SDavid van Moolenbroek# enable wm window titles 57eda6f593SDavid van Moolenbroekset -g set-titles on 58eda6f593SDavid van Moolenbroek 59eda6f593SDavid van Moolenbroek# wm window title string (uses statusbar variables) 60eda6f593SDavid van Moolenbroekset -g set-titles-string "tmux.#I.#W" 61eda6f593SDavid van Moolenbroek 62eda6f593SDavid van Moolenbroek# session initialization 63eda6f593SDavid van Moolenbroeknew -s mysession mutt 64eda6f593SDavid van Moolenbroekneww -t 2 65eda6f593SDavid van Moolenbroekneww -d -t 3 66eda6f593SDavid van Moolenbroekneww -d -t 5 mocp 67eda6f593SDavid van Moolenbroekneww -d -t 6 rtorrent 68eda6f593SDavid van Moolenbroekselectw -t 1 69eda6f593SDavid van Moolenbroek 70eda6f593SDavid van Moolenbroek# statusbar -------------------------------------------------------------- 71eda6f593SDavid van Moolenbroek 72eda6f593SDavid van Moolenbroekset -g display-time 2000 73eda6f593SDavid van Moolenbroek 74eda6f593SDavid van Moolenbroek# default statusbar colors 75eda6f593SDavid van Moolenbroekset -g status-fg white 76eda6f593SDavid van Moolenbroekset -g status-bg default 77eda6f593SDavid van Moolenbroekset -g status-attr default 78eda6f593SDavid van Moolenbroek 79eda6f593SDavid van Moolenbroek# default window title colors 80eda6f593SDavid van Moolenbroekset-window-option -g window-status-fg cyan 81eda6f593SDavid van Moolenbroekset-window-option -g window-status-bg default 82eda6f593SDavid van Moolenbroekset-window-option -g window-status-attr dim 83eda6f593SDavid van Moolenbroek 84eda6f593SDavid van Moolenbroek# active window title colors 85eda6f593SDavid van Moolenbroekset-window-option -g window-status-current-fg white 86eda6f593SDavid van Moolenbroekset-window-option -g window-status-current-bg default 87eda6f593SDavid van Moolenbroekset-window-option -g window-status-current-attr bright 88eda6f593SDavid van Moolenbroek 89eda6f593SDavid van Moolenbroek# command/message line colors 90eda6f593SDavid van Moolenbroekset -g message-fg white 91eda6f593SDavid van Moolenbroekset -g message-bg black 92eda6f593SDavid van Moolenbroekset -g message-attr bright 93eda6f593SDavid van Moolenbroek 94eda6f593SDavid van Moolenbroek# center align the window list 95eda6f593SDavid van Moolenbroekset -g status-justify centre 96eda6f593SDavid van Moolenbroek 97eda6f593SDavid van Moolenbroek# show some useful stats but only when tmux is started 98eda6f593SDavid van Moolenbroek# outside of Xorg, otherwise dwm statusbar shows these already 99eda6f593SDavid van Moolenbroekset -g status-right "" 100eda6f593SDavid van Moolenbroekset -g status-left "" 101eda6f593SDavid van Moolenbroekif '[ -z "$DISPLAY" ]' 'set -g status-left "[#[fg=green] #H #[default]]"' 102eda6f593SDavid van Moolenbroekif '[ -z "$DISPLAY" ]' 'set -g status-right "[ #[fg=magenta]#(cat /proc/loadavg | cut -d \" \" -f 1,2,3)#[default] ][ #[fg=cyan,bright]%a %Y-%m-%d %H:%M #[default]]"' 103eda6f593SDavid van Moolenbroekif '[ -z "$DISPLAY" ]' 'set -g status-right-length 50' 104eda6f593SDavid van Moolenbroek 105