################################################################################
# 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-<table> to see binds in table choice, copy or edit.
setw -g mode-keys vi
# 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 [<window>.]<pane> 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.
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.
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