X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;ds=inline;f=.tmux.conf;h=9b7e9d0ca8ad2dd3c546fdc8007951b7a9c4f145;hb=f5b8391f53a507d628509bcb0ff54c16dc275c0a;hp=dcd460bfb988e40a85ace3462ea0c2ba7c1ecc2d;hpb=35a3cbb0c868c98f17cd0352e96414c3347760be;p=profile.git
diff --git a/.tmux.conf b/.tmux.conf
index dcd460b..9b7e9d0 100644
--- a/.tmux.conf
+++ b/.tmux.conf
@@ -1,6 +1,10 @@
################################################################################
# Options.
################################################################################
+# Start in home. The documentation says ~ is supported but tmux 1.7
+# barfs on it.
+set -g default-path "$HOME"
+
# Use vi keys for scrolling etc.
# Use lsk -t vi|emacs-
to see binds in table choice, copy or edit.
setw -g mode-keys vi
@@ -37,6 +41,7 @@ bind C-[ copy-mode
bind ] paste-buffer
bind C-] paste-buffer
bind _ setw monitor-activity
+bind M-_ setw monitor-silence 10
bind * list-clients
bind < command-prompt -p "Load buffer from file:" 'load-buffer %1'
bind > command-prompt -p "Save buffer to file:" 'save-buffer %1'
@@ -65,16 +70,18 @@ bind -r L next-window
# Last window like Vim.
bind ^ last-window
bind C-^ last-pane
+bind C-o last-pane
# Top and bottom.
bind J select-pane -D
bind K select-pane -U
# Swap panes.
bind o swap-pane -D
-bind -r C-o swap-pane -D
bind -r O swap-pane -U
bind w command-prompt -p "Select [.] to swap:" 'swap-pane -s . -t %1'
# Swap windows.
bind W choose-window "swap-window -t '%%'"
+# Renumber windows.
+bind M-w move-window -r -s : -t :
# Show panes.
bind = display-panes
# Move the current pane into a separate window.
@@ -93,11 +100,16 @@ bind -r C-M-j resize-pane -D
bind -r C-M-k resize-pane -U
bind -r C-M-l resize-pane -R
# Layouts.
-bind . select-layout even-vertical
-bind , select-layout tiled
-bind -r Space next-layout
+bind , select-layout even-vertical
+bind . select-layout even-horizontal
+bind / select-layout tiled
+bind M-, select-layout main-vertical
+bind M-. select-layout main-horizontal
+bind Space next-layout
+bind -r C-Space next-layout
# Simulate maximising the window.
-bind / select-layout even-vertical \; swap-pane -s top \; resize-pane -D 9999
+bind / select-layout main-horizontal \; resize-pane -D 9999
+bind M-/ select-layout tiled
# Select windows.
bind - choose-window
bind M-0 select-window -t 10
@@ -129,7 +141,10 @@ bind { copy-mode -u
bind '"' list-buffers \; command-prompt -p "Choose buffer to show:" 'show-buffer -b %1'
bind "'" new-window -n "[buffer]" "cat > /dev/null" \; paste-buffer
# Toggle mouse mode as it is useful despite the flaws listed above.
-bind C-m set -g mouse-resize-pane \; set -g mouse-select-pane \; set -g mouse-select-window \; set -g mode-mouse
+# As of tmux 1.7 mode-mouse has three possible values so we can no
+# longer use an implied toggle.
+bind C-m set -g mouse-resize-pane on \; set -g mouse-select-pane on \; set -g mouse-select-window on \; set -g mode-mouse copy-mode
+bind M-m set -g mouse-resize-pane off \; set -g mouse-select-pane off \; set -g mouse-select-window off \; set -g mode-mouse off
################################################################################
# Fix missing binds in Vi modes.
@@ -161,9 +176,11 @@ set -g display-panes-colour colour17
# Command entry.
set -g message-bg colour90
set -g message-fg white
+set -g message-command-bg colour88
+set -g message-command-fg white
# Active pane
set -g pane-active-border-bg default
-set -g pane-active-border-fg white
+set -g pane-active-border-fg colour31
# Inactive pane.
set -g pane-border-bg default
set -g pane-border-fg colour17
@@ -173,12 +190,23 @@ setw -g mode-fg white
# Monitored windows (in reverse video).
setw -g window-status-alert-bg red
setw -g window-status-alert-fg white
+# As of tmux 1.6 we can highlight different alerts.
+setw -g window-status-bell-bg colour22
+setw -g window-status-bell-fg white
+setw -g window-status-content-bg colour88
+setw -g window-status-content-fg white
+setw -g window-status-content-attr none
+setw -g window-status-activity-bg red
+setw -g window-status-activity-fg white
################################################################################
# Caption settings.
################################################################################
# Don't update the title bar.
set -g set-titles off
+set -g allow-rename off
+# Allow pane renames if no name was explicitly set.
+set -g automatic-rename on
# Status line black on white.
set -g status-attr none
set -g status-bg white
@@ -193,5 +221,3 @@ set -g status-right '#[fg=white,bg=colour8][#H:#S]'
# Window flags.
setw -g window-status-current-format '[#I.#P#F #W]'
setw -g window-status-format ' #I.#P#F #W '
-# Don't set window name. XXX: Issue with PROMPT_COMMAND.
-#setw -g automatic-rename off