Marcel Schneider
8 years ago
3 changed files with 238 additions and 0 deletions
-
58tmux/human.sh
-
60tmux/theme.sh
-
120tmux/tmux.conf
@ -0,0 +1,58 @@ |
|||
#!/bin/bash |
|||
|
|||
tm_icon="♟" |
|||
tm_color_background=colour234 |
|||
tm_color_active=colour118 |
|||
tm_color_inactive=colour241 |
|||
tm_color_feature=colour4 |
|||
tm_color_music=colour203 |
|||
|
|||
# separators |
|||
tm_left_separator='' |
|||
tm_left_separator_black='' |
|||
tm_right_separator='' |
|||
tm_right_separator_black='' |
|||
tm_session_symbol='' |
|||
|
|||
set -g status-left-length 32 |
|||
set -g status-right-length 150 |
|||
set -g status-interval 5 |
|||
|
|||
|
|||
# default statusbar colors |
|||
# set-option -g status-bg colour0 |
|||
set-option -g status-fg $tm_color_active |
|||
set-option -g status-bg default |
|||
set-option -g status-attr default |
|||
|
|||
# default window title colors |
|||
set-window-option -g window-status-fg $tm_color_inactive |
|||
set-window-option -g window-status-bg default |
|||
set -g window-status-format "#I #W" |
|||
|
|||
# active window title colors |
|||
set-window-option -g window-status-current-format "#[fg=$tm_color_background,bg=$tm_color_active]$tm_left_separator_black #[fg=colour0,bg=$tm_color_active,bold]#I #W #[bg=$tm_color_background,fg=$tm_color_active]$tm_left_separator_black " |
|||
|
|||
# pane border |
|||
set-option -g pane-border-fg $tm_color_inactive |
|||
set-option -g pane-active-border-fg $tm_color_active |
|||
|
|||
# message text |
|||
set-option -g message-bg default |
|||
set-option -g message-fg $tm_color_active |
|||
|
|||
# pane number display |
|||
set-option -g display-panes-active-colour $tm_color_active |
|||
set-option -g display-panes-colour $tm_color_inactive |
|||
|
|||
tm_spotify="#[fg=$tm_color_background,bg=$tm_color_music]#(osascript ~/.dotfiles/applescripts/spotify.scpt)" |
|||
tm_itunes="#[fg=$tm_color_music,bg=$tm_color_background]$tm_right_separator_black#[fg=$tm_color_background,bg=$tm_color_music]#(osascript ~/.dotfiles/applescripts/itunes.scpt)" |
|||
tm_rdio="#[fg=$tm_color_background,bg=$tm_color_music]#(osascript ~/.dotfiles/applescripts/rdio.scpt)" |
|||
tm_battery="#[fg=colour255,bg=$tm_color_music]$tm_right_separator_black#[bg=colour255]#(~/.dotfiles/bin/battery_indicator.sh)" |
|||
|
|||
tm_date="#[bg=colour255,fg=$tm_color_inactive]$tm_right_separator_black#[bg=$tm_color_inactive,fg=$tm_color_background] %R %d %b" |
|||
tm_host="#[bg=$tm_color_inactive,fg=$tm_color_feature]$tm_right_separator_black#[bg=$tm_color_feature,fg=$tm_color_background,bold] #h " |
|||
tm_session_name="#[bg=$tm_color_feature,fg=$tm_color_background,bold]$tm_icon #S #[fg=$tm_color_feature,bg=default,nobold]$tm_left_separator_black" |
|||
|
|||
set -g status-left $tm_session_name |
|||
set -g status-right $tm_itunes' '$tm_rdio' '$tm_battery' '$tm_date' '$tm_host |
@ -0,0 +1,60 @@ |
|||
#### COLOUR |
|||
|
|||
tm_icon="♟" |
|||
tm_color_active=colour51 |
|||
tm_color_inactive=colour241 |
|||
tm_color_feature=colour198 |
|||
tm_color_music=colour41 |
|||
tm_active_border_color=colour51 |
|||
|
|||
# separators |
|||
tm_separator_left_bold="◀" |
|||
tm_separator_left_thin="❮" |
|||
tm_separator_right_bold="▶" |
|||
tm_separator_right_thin="❯" |
|||
|
|||
set -g status-left-length 32 |
|||
set -g status-right-length 150 |
|||
set -g status-interval 5 |
|||
|
|||
|
|||
# default statusbar colors |
|||
# set-option -g status-bg colour0 |
|||
set-option -g status-fg $tm_color_active |
|||
set-option -g status-bg default |
|||
set-option -g status-attr default |
|||
|
|||
# default window title colors |
|||
set-window-option -g window-status-fg $tm_color_inactive |
|||
set-window-option -g window-status-bg default |
|||
set -g window-status-format "#I #W" |
|||
|
|||
# active window title colors |
|||
set-window-option -g window-status-current-fg $tm_color_active |
|||
set-window-option -g window-status-current-bg default |
|||
set-window-option -g window-status-current-format "#[bold]#I #W" |
|||
|
|||
# pane border |
|||
set-option -g pane-border-fg $tm_color_inactive |
|||
set-option -g pane-active-border-fg $tm_active_border_color |
|||
|
|||
# message text |
|||
set-option -g message-bg default |
|||
set-option -g message-fg $tm_color_active |
|||
|
|||
# pane number display |
|||
set-option -g display-panes-active-colour $tm_color_active |
|||
set-option -g display-panes-colour $tm_color_inactive |
|||
|
|||
# clock |
|||
set-window-option -g clock-mode-colour $tm_color_active |
|||
|
|||
#tm_tunes="#[fg=$tm_color_music]#(osascript ~/.dotfiles/applescripts/tunes.scpt)" |
|||
#tm_battery="#(~/.dotfiles/bin/battery_indicator.sh)" |
|||
|
|||
tm_date="#[fg=$tm_color_inactive] %R %d %b" |
|||
tm_host="#[fg=$tm_color_feature,bold]#h" |
|||
tm_session_name="#[fg=$tm_color_feature,bold]$tm_icon #S" |
|||
|
|||
set -g status-left $tm_session_name' ' |
|||
set -g status-right $tm_tunes' '$tm_date' '$tm_host |
@ -0,0 +1,120 @@ |
|||
#set -g default-command "login-shell" |
|||
|
|||
# tmux display things in 256 colors |
|||
#set -g default-terminal "tmux-256color-italic" |
|||
|
|||
# enable terminal compability |
|||
#set-option -ga terminal-overrides ",tmux-256color-italic:Tc" |
|||
|
|||
set -g history-limit 20000 |
|||
|
|||
# automatically renumber tmux windows |
|||
set -g renumber-windows on |
|||
|
|||
# unbind default prefix and set it to Ctrl+a |
|||
unbind C-b |
|||
set -g prefix C-a |
|||
bind C-a send-prefix |
|||
|
|||
# for nested tmux sessions |
|||
bind-key a send-prefix |
|||
|
|||
# Activity Monitoring |
|||
setw -g monitor-activity off |
|||
set -g visual-activity off |
|||
|
|||
# Rather than constraining window size to the maximum size of any client |
|||
# connected to the *session*, constrain window size to the maximum size of any |
|||
# client connected to *that window*. Much more reasonable. |
|||
setw -g aggressive-resize on |
|||
|
|||
# make delay shorter |
|||
set -sg escape-time 0 |
|||
|
|||
# tile all windows |
|||
unbind = |
|||
bind = select-layout tiled |
|||
|
|||
# cycle through panes |
|||
# unbind C-a |
|||
# unbind o # this is the default key for cycling panes |
|||
# bind ^A select-pane -t:.+ |
|||
|
|||
# make window/pane index start with 1 |
|||
set -g base-index 1 |
|||
setw -g pane-base-index 1 |
|||
|
|||
set-option -g set-titles on |
|||
set-option -g set-titles-string "#T - #W" |
|||
# set-window-option -g automatic-rename on |
|||
|
|||
###################### |
|||
#### Key Bindings #### |
|||
###################### |
|||
|
|||
# reload config file |
|||
bind r source-file ~/.tmux.conf \; display "Config Reloaded!" |
|||
|
|||
# quickly open a new window |
|||
bind N new-window |
|||
|
|||
# split window and fix path for tmux 1.9 |
|||
bind | split-window -h -c "#{pane_current_path}" |
|||
bind - split-window -v -c "#{pane_current_path}" |
|||
|
|||
# synchronize all panes in a window |
|||
bind y setw synchronize-panes |
|||
|
|||
# pane movement shortcuts |
|||
bind h select-pane -L |
|||
bind j select-pane -D |
|||
bind k select-pane -U |
|||
bind l select-pane -R |
|||
|
|||
bind -r C-h select-window -t :- |
|||
bind -r C-l select-window -t :+ |
|||
|
|||
# Resize pane shortcuts |
|||
bind -r H resize-pane -L 10 |
|||
bind -r J resize-pane -D 10 |
|||
bind -r K resize-pane -U 10 |
|||
bind -r L resize-pane -R 10 |
|||
|
|||
# enable mouse support for switching panes/windows |
|||
setw -g mouse on |
|||
# set-option -g -q mouse on |
|||
|
|||
bind-key -T root PPage if-shell -F "#{alternate_on}" "send-keys PPage" "copy-mode -e; send-keys PPage" |
|||
bind-key -t vi-copy PPage page-up |
|||
bind-key -t vi-copy NPage page-down |
|||
|
|||
bind -T root WheelUpPane if-shell -F -t = "#{alternate_on}" "select-pane -t =; send-keys -M" "select-pane -t =; copy-mode -e; send-keys -M" |
|||
bind -T root WheelDownPane if-shell -F -t = "#{alternate_on}" "select-pane -t =; send-keys -M" "select-pane -t =; send-keys -M" |
|||
bind-key -t vi-copy WheelUpPane halfpage-up |
|||
bind-key -t vi-copy WheelDownPane halfpage-down |
|||
|
|||
# maximizing and restoring windows |
|||
unbind Up |
|||
bind Up new-window -d -n fullscreen \; swap-pane -s fullscreen.1 \; select-window -t fullscreen |
|||
unbind Down |
|||
bind Down last-window \; swap-pane -s fullscreen.1 \; kill-window -t fullscreen |
|||
|
|||
# set vi mode for copy mode |
|||
setw -g mode-keys vi |
|||
# more settings to make copy-mode more vim-like |
|||
unbind [ |
|||
bind Escape copy-mode |
|||
unbind p |
|||
bind p paste-buffer |
|||
bind -t vi-copy 'v' begin-selection |
|||
bind -t vi-copy 'y' copy-selection |
|||
|
|||
# Buffers to/from Mac clipboard, yay tmux book from pragprog |
|||
#bind C-c run "tmux save-buffer - | reattach-to-user-namespace pbcopy" |
|||
#bind C-v run "tmux set-buffer $(reattach-to-user-namespace pbpaste); tmux paste-buffer" |
|||
|
|||
############################## |
|||
### Color & Style Settings ### |
|||
############################## |
|||
|
|||
source ~/.dotfiles/tmux/theme.sh |
Write
Preview
Loading…
Cancel
Save
Reference in new issue