set-option -g allow-rename on set-option -g automatic-rename off set-option -g base-index 1 set-option -g default-command "$SHELL" set-option -g default-terminal "tmux-256color" set-option -g history-limit 25000 set-option -g mode-keys vi set-option -g prefix C-f set-option -g renumber-windows yes set-option -g set-titles on set-option -g set-titles-string "#T" set-option -g xterm-keys on set-option -g status-interval 1 set-option -g status-left "#(tmux-status-left)" set-option -g status-left-length 40 set-option -g status-right "" set-option -g window-status-current-attr bold set-option -g window-status-current-format "[#I#F#{?window_zoomed_flag, ,}#{=40:pane_title}]" set-option -g window-status-format "#I#{?window_zoomed_flag, ,}#F#{?window_flags,, }#{?window_zoomed_flag, ,}#{=20:pane_title}" set-option -g pane-active-border-fg colour247 set-option -g pane-border-fg colour235 set-option -g status-bg colour7 set-option -g status-fg colour16 set-option -g status-left-bg colour4 set-option -g status-left-fg colour15 set-option -g window-status-current-bg colour15 set-option -g window-status-current-fg colour16 set-option -g update-environment "DBUS_SESSION_BUS_ADDRESS DISPLAY KRB5CCNAME \ SESSION_MANAGER SSH_AGENT_PID SSH_ASKPASS SSH_AUTH_SOCK SSH_CONNECTION \ WINDOWID XAUTHORITY SSH_TTY" bind-key w break-pane -d bind-key l clear-history \; display "Pane history cleared." bind-key C-f if-shell "test #{window_panes} -eq 1" last-window last-pane bind-key N new-session bind-key t new-window bind-key z resize-pane -Z bind-key C-r rotate-window -D bind-key -n C-t run-shell "metamux new-shell-in-pane #{window_panes}" bind-key n run-shell "metamux rotate-pane next" bind-key p run-shell "metamux rotate-pane prev" bind-key q run-shell "metamux pane-buster" bind-key S run-shell "metamux join-hidden-pane -v" bind-key u run-shell "metamux open-last-url-printed" bind-key | run-shell "metamux join-hidden-pane -h" bind-key f send-prefix bind-key r source "$HOME/.tmux.conf" \; display "Configuration reloaded." # When the current window is split, Ctrl+Tab and Ctrl+Shift+Tab should rotate # between the split windows. If there is only one pane in the current window, # Ctrl+Tab and Ctrl+Shift+Tab will cycle between windows as though they were # tabs in modern desktop UIs. bind-key -n C-Tab if-shell "test #{window_panes} -eq 1" next-window "select-pane -t :.+" bind-key -n C-S-Tab if-shell "test #{window_panes} -eq 1" previous-window "select-pane -t :.-" # Binding to mark and swap panes; if no pane is marked, the shortcut will mark # the active pane, but if a pane is already marked, active pane will be swapped # with the marked pane. bind-key m if-shell 'test -z "$PANE_IS_MARKED"' \ "select-pane -m; set-env PANE_IS_MARKED 1" \ "swap-pane; select-pane -M; set-env -u PANE_IS_MARKED"