# ---- preferences ---- set -g set-titles on set -g set-titles-string "#(whoami)@#h" # set -g set-titles-string "tmux #I:#W" set -g base-index 1 set -g pane-base-index 1 set -g history-limit 5000 set -sg escape-time 1 set -g default-terminal "screen-256color" set -wg monitor-activity on set -g visual-activity on # ---- bindings ---- set -wg mode-keys emacs set -g status-keys emacs # set -wg xterm-keys on # same as dtach and GNU screen set -g prefix "C-\\" # C-\ \ to send C-\ to Emacs, nested tmux, dtach etc. bind "\\" send-prefix # C-\ C-\ to bounce between windows # unbind C-\\ bind "C-\\" last-window # detach all other clients: useful when other clients on other machines are # making Irssi too small; can easily reconnect from those machines when wanted # thanks to my ssh-and-tmux-term script or just by hitting i3 shortcut to # relaunch bind "K" detach-client -a # # splitting should maintain current working directory # bind '"' split-window -c "#{pane_current_path}" # bind % split-window -h -c "#{pane_current_path}" # bind c new-window -c "#{pane_current_path}" bind C new-window -c "#{pane_current_path}" bind g new-window -c "#{pane_current_path}" "grep --color=always -Eir '(copyright|©)' * | less -R" # # my launcher shortcuts: mnemonic is h for host and e for emacs/editor # # E for e-mail # bind M command-prompt -p "man" "split-window 'exec man %%'" # bind m new-window -n mail mutt # bind H command-prompt -p "mosh to host" "split-window 'mosh %1'" # bind h command-prompt -p "mosh to host" "new-window -n %1 'mosh %1'" # bind R command-prompt -p "ssh to host" "split-window 'ssh %1'" # bind r command-prompt -p "ssh to host" "new-window -n %1 'ssh %1'" # bind E split-window 'emacsclient -amg -t' bind e run-shell tmuxmacs # bind t new-window -n irssi 'ii' # ftp-master: tmux setup for NEW processing # bind N split-window -v -d "emacsclient -t -a '' -e '(switch-to-buffer \"*scratch*\")'" \; swap-pane -D \; resize-pane -t 1 -y 12 \; send c d Space / s r v / f t p - m a s t e r . d e b i a n . o r g / q u e u e / n e w Enter d a k Space p r o c e s s - n e w Space # bind N send c d Space / s r v / f t p - m a s t e r . d e b i a n . o r g / q u e u e / n e w Enter d a k Space p r o c e s s - n e w Space # ---- status bar ---- set -g status-position top set -g status-justify centre set -g status-attr dim # invert current window so easier to pick out set -wg window-status-current-fg white set -wg window-status-current-bg black # ---- terminal keycode fixes ---- # set -g terminal-overrides "xterm*:kf1=\e[11~:kf2=\e[12~:kf3=\e[13~:kf4=\e[14~:kf5=\e[15~:kf6=\e[17~:kf7=\e[18~:kf8=\e[19~" # set -g terminal-overrides "xterm*:kLFT5=\eOD:kRIT5=\eOC:kUP5=\eOA:kDN5=\eOB:smkx@:rmkx@" # ---- old theming code ---- # # --- status bar # set -g status-justify centre # setw -g monitor-activity on # set -g visual-activity on # set -g status-left-length 70 # set -g status-left "#[fg=green]: #h" # set -g status-right-length 60 # set -g status-right "#[fg=blue]#S #I:#P #[fg=yellow]:: %d %b %Y #[fg=green]:: %l:%M %p :: #(date -u | awk '{print $4}')::" # # --- zenburn from # # --- https://github.com/plathrop/dotfiles/blob/master/tmux/zenburn.conf # setw -g clock-mode-colour colour117 # setw -g mode-attr bold # setw -g mode-fg colour117 # setw -g mode-bg colour238 # set -g status-bg colour235 # set -g status-fg colour248 # set -g status-attr dim # set -g status-left ' #[fg=colour174][ #[fg=colour187,bold]#(whoami)@#h #[fg=colour174]]' # set -g status-right '#[fg=colour174][ #[fg=colour187,bold]%d %h %H:%M #[fg=colour174]] ' # set -g status-right-length 80 # setw -g window-status-current-fg colour223 # setw -g window-status-current-bg colour237 # setw -g window-status-current-attr bold # set -g message-attr bold # set -g message-fg colour117 # set -g message-bg colour235 # set-option -g status-position top