2023-08-08 16:24:15 +03:00
|
|
|
# remap <C-b> to <C-t>.
|
|
|
|
unbind-key C-b
|
|
|
|
set-option -g prefix C-t
|
|
|
|
bind-key C-t send-prefix
|
|
|
|
|
|
|
|
# disable escape delay.
|
|
|
|
set -sg escape-time 0
|
|
|
|
|
|
|
|
# remap split keys.
|
2023-12-14 00:13:26 +03:00
|
|
|
bind -n M-\\ split-window -h -c "#{pane_current_path}"
|
2023-11-10 21:33:06 +03:00
|
|
|
bind -n M-- split-window -v -c "#{pane_current_path}"
|
2023-12-14 00:13:26 +03:00
|
|
|
bind -n M-= select-layout tiled
|
|
|
|
bind -n M-h resize-pane -L 4
|
|
|
|
bind -n M-j resize-pane -D 2
|
|
|
|
bind -n M-k resize-pane -U 2
|
|
|
|
bind -n M-l resize-pane -R 4
|
2023-08-08 16:24:15 +03:00
|
|
|
unbind '"'
|
|
|
|
unbind %
|
|
|
|
|
|
|
|
# reload config.
|
2023-11-18 05:42:23 +03:00
|
|
|
bind -n M-r source-file ~/.config/tmux/tmux.conf
|
2023-08-08 16:24:15 +03:00
|
|
|
|
|
|
|
# swith panes with alt + hjkl.
|
|
|
|
bind -n M-a select-pane -L
|
|
|
|
bind -n M-d select-pane -R
|
|
|
|
bind -n M-w select-pane -U
|
|
|
|
bind -n M-s select-pane -D
|
|
|
|
|
|
|
|
# close pane.
|
|
|
|
bind -n M-c kill-pane
|
2023-12-28 20:39:23 +03:00
|
|
|
bind -n M-C kill-pane -a
|
2023-08-08 16:24:15 +03:00
|
|
|
|
|
|
|
# create new window.
|
2023-11-08 02:59:01 +03:00
|
|
|
bind -n M-Escape new-window -c "#{pane_current_path}"
|
|
|
|
bind -n M-t new-window -c "#{pane_current_path}" # NOTE: for compatibility with Termux as it does not support <C-Esc> yet.
|
2023-08-08 16:24:15 +03:00
|
|
|
|
|
|
|
# close window.
|
|
|
|
bind -n M-x kill-window
|
2023-12-28 20:39:23 +03:00
|
|
|
bind -n M-X kill-window -a
|
2023-08-08 16:24:15 +03:00
|
|
|
|
|
|
|
# switch window.
|
|
|
|
bind -n M-e next-window
|
|
|
|
bind -n M-q previous-window
|
|
|
|
|
|
|
|
# move window.
|
|
|
|
bind -n M-E swap-window -t +1\; select-window -t +1
|
|
|
|
bind -n M-Q swap-window -t -1\; select-window -t -1
|
|
|
|
|
|
|
|
# detach.
|
|
|
|
bind -n M-z detach-client
|
2023-12-28 20:39:23 +03:00
|
|
|
bind -n M-Z detach-client -a
|
2023-08-08 16:24:15 +03:00
|
|
|
|
|
|
|
# scroll.
|
|
|
|
bind -n M-p copy-mode -u
|
|
|
|
bind -n M-n send-keys Pagedown
|
|
|
|
|
|
|
|
# copy mode.
|
|
|
|
setw -g mode-keys vi
|
|
|
|
bind -n M-v copy-mode
|
|
|
|
bind -n M-P paste-buffer
|
|
|
|
bind -T copy-mode-vi v send -X begin-selection
|
|
|
|
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "pbcopy"
|
|
|
|
|
2023-12-14 00:13:26 +03:00
|
|
|
# Resize panes.
|
|
|
|
|
2023-12-09 01:10:04 +03:00
|
|
|
# Resize to smallest client.
|
|
|
|
set -g window-size smallest
|
|
|
|
|
2023-08-08 16:24:15 +03:00
|
|
|
# statusbar
|
|
|
|
set -g status-position bottom
|
|
|
|
set -g status-justify left
|
|
|
|
set -g status-style 'bg=yellow fg=black dim'
|
|
|
|
set -g status-left ' #H-#S '
|
2023-11-19 09:14:39 +03:00
|
|
|
set -g status-right '#[fg=black,bg=orange] #(head -c -1 /sys/class/power_supply/BAT*/capacity 2> /dev/null && echo -n "% ")%Y-%m-%d %H:%M '
|
2023-08-08 16:24:15 +03:00
|
|
|
set -g status-right-length 50
|
|
|
|
set -g status-left-length 20
|
|
|
|
|
|
|
|
setw -g window-status-current-style 'fg=black bg=orange bold'
|
|
|
|
setw -g window-status-current-format ' #I#[fg=black]:#[fg=black]#W#[fg=black]#F '
|
|
|
|
|
|
|
|
setw -g window-status-style 'fg=black bg=darkgray'
|
|
|
|
setw -g window-status-format ' #I#[fg=black]:#[fg=black]#W#[fg=black]#F '
|
|
|
|
|
|
|
|
setw -g window-status-bell-style 'fg=black bg=white bold'
|