This commit is contained in:
Marc Beninca 2025-01-18 22:27:50 +01:00
parent 6adea4a46d
commit e9e12b6b64
Signed by: marc.beninca
GPG key ID: 9C7613450C80C24F

View file

@ -6,34 +6,45 @@ rwx_tmux_setup() {
local file local file
file="${HOME}/.tmux.conf" file="${HOME}/.tmux.conf"
rwx_file_write "${file}" "\ rwx_file_write "${file}" "\
# first index number # ╭────────╮
set-option -g base-index 1 # │ option │
set-option -g pane-base-index 1 # ╰────────╯
# display duration
set-option -g display-time 1536
# reload configuration
bind-key r source-file ${file} \\; display-message 'Source: ${file}'
# toggle mouse
bind-key t set-option -g mouse \\; display-message 'Mouse: #{mouse}'
# select sessions with Alt & ↑ | ↓
bind-key -n M-Down switch-client -n
bind-key -n M-Up switch-client -p
# empty name for windows # empty name for windows
set-option -g automatic-rename on
set-option -g automatic-rename-format '#{pane_current_command}' set-option -g automatic-rename-format '#{pane_current_command}'
set-option -g automatic-rename on
# first index number
set-option -g base-index 1
# display duration
set-option -g display-time 1536
# extend history limit # extend history limit
set-option -g history-limit 1048576 set-option -g history-limit 1048576
# style for messages
set-option -g message-style bg=red,fg=white
# activity monitoring
set-window-option -g monitor-activity on
# silence monitoring
set-window-option -g monitor-silence 0
# enable mouse actions # enable mouse actions
set-option -g mouse on set-option -g mouse on
# prefix with ^B or F12
set-option -g prefix C-b
set-option -g prefix2 F12
# renumber windows after closing one # renumber windows after closing one
set-option -g renumber-windows on set-option -g renumber-windows on
# status lines
set-option -g status 3
# enable title # enable title
set-option -g set-titles on set-option -g set-titles on
# set title to working directory # set title to working directory
set-option -g set-titles-string '\ set-option -g set-titles-string '\
tmux / \ tmux / \
@ -42,9 +53,37 @@ tmux / \
#{pane_index} #{pane_width}×#{pane_height}\ #{pane_index} #{pane_width}×#{pane_height}\
' '
# status bar # status lines
set-option -g status 3
# ╭────────┬──────╮
# │ option │ pane │
# ╰────────┴──────╯
# first index number
set-option -g pane-base-index 1
# ╭────────┬──────┬────────╮
# │ option │ pane │ border │
# ╰────────┴──────┴────────╯
# active style
set-option -g pane-active-border-style bg=black,fg=green
# regular style
set-option -g pane-border-style bg=black,fg=gray
# ╭────────┬────────╮
# │ option │ status │
# ╰────────┴────────╯
# background color
set-option -g status-bg black set-option -g status-bg black
# foreground color
set-option -g status-fg gray set-option -g status-fg gray
# first line
set-option -g status-format[0] '\ set-option -g status-format[0] '\
#{W:\ #{W:\
#{?window_active,#[fg=green],\ #{?window_active,#[fg=green],\
@ -59,6 +98,8 @@ set-option -g status-format[0] '\
#[align=right] \ #[align=right] \
#[fg=yellow]%Y-%m-%d\ #[fg=yellow]%Y-%m-%d\
' '
# second line
set-option -g status-format[1] '\ set-option -g status-format[1] '\
#{P:\ #{P:\
#{?pane_active,#[fg=green],#[fg=default]}\ #{?pane_active,#[fg=green],#[fg=default]}\
@ -70,26 +111,38 @@ set-option -g status-format[1] '\
#[align=right] \ #[align=right] \
#[fg=yellow]%H:%M:%S\ #[fg=yellow]%H:%M:%S\
' '
# third line
set-option -g status-format[2] '\ set-option -g status-format[2] '\
#[fg=cyan]#{pane_current_path}\ #[fg=cyan]#{pane_current_path}\
' '
# refresh period
set-option -g status-interval 1 set-option -g status-interval 1
# bar location
set-option -g status-position top set-option -g status-position top
# style for messages # ╭─────╮
set-option -g message-style bg=red,fg=white # │ key │
# style for pane borders # ╰─────╯
set-option -g pane-active-border-style bg=black,fg=green
set-option -g pane-border-style bg=black,fg=gray
# prefix with ^B or F12 # select sessions with Alt & ↑ | ↓
set-option -g prefix C-b bind-key -n M-Down switch-client -n
set-option -g prefix2 F12 bind-key -n M-Up switch-client -p
# enable activity monitoring # ╭─────┬────────╮
set-window-option -g monitor-activity on # │ key │ prefix │
# disable silence monitoring # ╰─────┴────────╯
set-window-option -g monitor-silence 0
# reload configuration
bind-key r source-file ${file} \\; display-message 'source-file ${file}'
# toggle mouse
bind-key t set-option -g mouse \\; display-message 'mouse = #{mouse}'
# ╭─╮
# ╰─╯
# bind key to detach client # bind key to detach client
bind-key -n F6 detach-client bind-key -n F6 detach-client