2022-11-03 23:34:21 +01:00
|
|
|
{ ... }:
|
2022-03-28 18:08:54 +02:00
|
|
|
{
|
|
|
|
programs.tmux = {
|
|
|
|
enable = true;
|
|
|
|
extraConfig = ''
|
2022-04-11 17:02:41 +02:00
|
|
|
set -g default-terminal "tmux-256color"
|
|
|
|
set -ga terminal-overrides ",*256col*:Tc"
|
2022-06-20 20:51:45 +02:00
|
|
|
set-option -g history-limit 300000
|
|
|
|
|
2022-04-11 17:02:41 +02:00
|
|
|
# enable vim like key bindings
|
|
|
|
set-window-option -g mode-keys vi
|
|
|
|
unbind [
|
|
|
|
bind Escape copy-mode
|
|
|
|
unbind p
|
|
|
|
bind p paste-buffer
|
|
|
|
bind-key -T copy-mode-vi v send-keys -X begin-selection
|
|
|
|
bind-key -T copy-mode-vi y send-keys -X copy-selection
|
|
|
|
bind-key -T copy-mode-vi r send-keys -X rectangle-toggle
|
|
|
|
|
|
|
|
# changing default delay
|
|
|
|
set -s escape-time 1
|
|
|
|
|
|
|
|
# window navigation with the meta key + vim keybinding
|
|
|
|
bind -n M-h select-pane -L
|
|
|
|
bind -n M-l select-pane -R
|
|
|
|
bind -n M-k select-pane -U
|
|
|
|
bind -n M-j select-pane -D
|
2022-06-20 20:52:03 +02:00
|
|
|
|
|
|
|
# enable logging on key P
|
|
|
|
bind P pipe-pane -o "cat >>~/#W.log" \; display-message "Toggled logging to ~/#W.log"
|
2022-06-20 20:52:23 +02:00
|
|
|
|
2022-06-20 21:00:06 +02:00
|
|
|
### Status bar design
|
|
|
|
# status line
|
|
|
|
set -g status-justify left
|
|
|
|
set -g status-bg black
|
|
|
|
set -g status-fg white
|
|
|
|
set -g status-interval 2
|
|
|
|
|
|
|
|
# window status
|
|
|
|
setw -g window-status-format " #F#I:#W#F "
|
|
|
|
setw -g window-status-current-format " #F#I:#W#F "
|
|
|
|
setw -g window-status-format "#[fg=magenta]#[bg=black] #I#[bg=cyan]#[fg=colour8] #W "
|
|
|
|
setw -g window-status-current-format "#[bg=brightmagenta]#[fg=colour8] #I#[fg=colour8]#[bg=colour14] #W "
|
|
|
|
|
|
|
|
# loud or quiet?
|
|
|
|
set-option -g visual-activity off
|
|
|
|
set-option -g visual-bell off
|
|
|
|
set-option -g visual-silence off
|
|
|
|
set-window-option -g monitor-activity off
|
|
|
|
set-option -g bell-action none
|
|
|
|
|
|
|
|
# The modes
|
|
|
|
setw -g clock-mode-colour colour135
|
|
|
|
|
|
|
|
# The statusbar
|
2022-06-20 20:52:23 +02:00
|
|
|
set -g status-position top
|
|
|
|
set -g status-bg colour234
|
|
|
|
set -g status-fg colour137
|
2022-06-20 21:00:06 +02:00
|
|
|
set -g status-left ""
|
2022-06-20 21:59:27 +02:00
|
|
|
set -g status-right '#[fg=colour233,bg=colour245,bold] %m-%d %H:%M:%S '
|
2022-06-20 20:55:05 +02:00
|
|
|
set -g status-right-length 50
|
|
|
|
set -g status-left-length 20
|
2022-06-20 21:00:06 +02:00
|
|
|
setw -g window-status-current-format '#I#[fg=colour250]:#[fg=colour255]#W#[fg=colour50]#F '
|
|
|
|
setw -g window-status-format '#I#[fg=colour237]:#[fg=colour250]#W#[fg=colour244]#F '
|
2022-03-28 18:08:54 +02:00
|
|
|
'';
|
|
|
|
};
|
|
|
|
}
|