Skip to content

Instantly share code, notes, and snippets.

@cirrusUK
Last active May 11, 2017 01:16
Show Gist options
  • Select an option

  • Save cirrusUK/7424049 to your computer and use it in GitHub Desktop.

Select an option

Save cirrusUK/7424049 to your computer and use it in GitHub Desktop.
~/.tmux.conf (tmux >= 2.1)
# Copyright 2012 Cirrus Minor. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification, are
# permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, this list of
# conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
# of conditions and the following disclaimer in the documentation and/or other materials
# provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY Cirrus Minor ''AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Cirrus Minor OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# All the following colours are supported: black, red, green, yellow, blue, magenta, cyan, white, default, bright, bold, dim,
# The views and conclusions contained in the software and documentation are those of the
# authors and should not be interpreted as representing official policies, either expressed
# or implied, by Cirrus Minor.
################
## .tmux.conf ##
#unbind C-b
set -g prefix C-a
# generalized startup stuff
set -g default-command zsh
set -g default-terminal screen-256color
set -g remain-on-exit on
set -g base-index 1
#set -g default-command "${SHELL}"
# Use urlview for displaying all links from buffer
#bind-key u capture-pane -J \; save-buffer /tmp/tmux-buffer \; split-window -l 10 "urlview '/tmp/tmux-buffer' && rm /tmp/tmux-buffer"
# Mouse (tmux >= 2.1)
#-------------------------------------------------
# Allows scrolling and selecting in copy-mode
#set -g mouse-utf8 on
set -g mouse on
set -ga terminal-overrides ',xterm*:smcup@:rmcup@'
set -ga terminal-override ',rxvt-uni*:XT:Ms=\E]52;%p1%s;%p2%s\007'
set -g history-limit 30000
# Enable mouse copy-mode scrolling
bind-key -T root WheelUpPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; copy-mode -e; send-keys -M"
bind-key -T root WheelDownPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; send-keys -M"
# Enable fast scrolling with Ctrl
#bind-key -T root C-WheelUpPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; copy-mode -e; send-keys -M"
#bind-key -t vi-copy C-WheelUpPane halfpage-up
#bind-key -t vi-copy C-WheelDownPane halfpage-down
# Make mouse-drag work only with Ctrl
#unbind -T root MouseDrag1Pane
#unbind -t vi-copy MouseDrag1Pane
#bind-key -n C-MouseDrag1Pane if -Ft= '#{mouse_any_flag}' 'if -Ft= \"#{pane_in_mode}\" \"copy-mode -M\" \"send-keys -M\"' 'copy-mode -M'
#bind-key -t vi-copy C-MouseDrag1Pane begin-selection
# Toggle mouse on/off
#bind-key m set-option -g mouse on \; display 'Mouse: ON'
#bind-key M set-option -g mouse off \; display 'Mouse: OFF'
# Statusbar properties
set -g display-time 5000
set -g status-bg default
set -g status-fg black
#set -g window-status-current-format "#[bg=blue,fg=black] Session #S ❮|:#W|#h:#T|❯ "
# pane divider color; non active pane
set -g pane-border-fg colour244
set -g pane-border-bg default
# pane divider color; active pane
# helps when you have more than two panes.
set -g pane-active-border-fg colour166
set -g pane-active-border-bg default
# window notifications; display activity on other window
#set -g monitor-activity on
#set -g visual-activity on
set-window-option -g monitor-activity on
set-window-option -g monitor-silence 60
# statusbar colors
set -g status-fg white
set -g status-bg default
set -g status-attr default
# window title colors; non active
set -g window-status-fg blue
set -g window-status-bg default
set -g window-status-attr dim
# window title colors; active
set -g window-status-current-fg colour38
set -g window-status-current-bg default
#set -g window-status-current-attr bright
# urlscan as context and url view
bind-key u capture-pane \; save-buffer /tmp/tmux-buffer \; \
new-window -n "urlscan" '$SHELL -c "urlscan < /tmp/tmux-buffer"'
# urlview as context and url view
bind-key U capture-pane \; save-buffer /tmp/tmux-buffer \; \
new-window -n "urlview" '$SHELL -c "urlview < /tmp/tmux-buffer"'
# Titles
set -g set-titles on
#set -g set-titles-string "#T"
set -g status-justify centre
set -g automatic-rename off
#tmux messages
set -g message-bg default
set -g message-fg yellow
#statusbar external scripts
set -g status on
#set -g status-interval 2
#set -g status-utf8 on
set -g status-left-length 200
set -g status-right-length 180
#set -g status-left '#(rainbarf)'
set -g status-left " #(~/tmux-powerline/powerline.sh left)"
#set -g status-left "#[fg=blue]Session: #[fg=red]#S #[fg=white]#I #[fg=green]#P"
#set -g status-right "#(~/tmux-powerline/powerline.sh right)"
set -g status-right "#[fg=blue]#(cat /home/cirrus/.cache/i3blocks/notification | grep BODY | cut -c 6-) #[bg=default,fg=red]◀ %H:%M "
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment