unbind C-b set -g prefix C-s bind-key s send-prefix bind-key v split-window -h bind-key b split-window bind-key T source-file "$HOME/.tmux.conf" \; display-message "Reloaded $HOME/.tmux.conf" bind-key O display-message "#(tmux-save-buffer '#S')" bind-key H set -s status bind-key -n C-l select-pane -R bind-key -n C-k select-pane -U bind-key -n C-j select-pane -D bind-key -n C-h select-pane -L bind-key -n C-t new-window bind-key Tab next-window bind-key -n C-Tab next-window bind-key -n C-S-Tab previous-window bind s run "tmux split-window -l 12 'tmuxswitcher'" bind M-l source-file "$XDG_CONFIG_HOME/tmux/layouts/dev.tmux" set -g default-terminal "kitty" set -g mouse on set -g escape-time 0 set -g monitor-activity on set -g visual-bell on set -g bell-action other set -g mode-keys vi set -g history-limit 102400000 set -g status on set -g status-position bottom set -g status-bg colour0 set -g status-fg colour8 set -g status-interval 5 set -g status-left-length 50 set -g window-status-style "fg=colour8 bg=colour0" set -g window-status-current-style "fg=colour8 bg=colour0" set -g window-status-format " #I" set -g window-status-separator "" set -g window-status-current-format " #I" set -g status-left "#h:#S #I" set -g status-right-length 280 set -g status-right "#(kubeline && printf ' ')#{pane_current_path} #(cd '#{pane_current_path}' && git rev-parse --abbrev-ref --sq HEAD | tr -d \"'\")#{pane_current_command}" set -g message-style "fg=colour7 bg=colour18" set -g pane-active-border-style bg=black,fg=blue set -g pane-border-style bg=black,fg=colour18 set -g clock-mode-colour colour8 set -g base-index 1 set -g pane-base-index 1 set -g window-status-current-format "" # present a menu of urls to open from the visible pane # TODO: fzf-ify this bind-key u capture-pane \;\ save-buffer /tmp/tmux-buffer \;\ split-window -l 10 "urlscan /tmp/tmux-buffer" bind-key -T copy-mode-vi "y" send-keys -X copy-pipe-and-cancel 'wl-copy' bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel 'wl-copy'; \ bind-key K kill-pane bind-key C-S-k kill-window # attempt at integrating nested tmux sessions nicely # bind -T root F12 \ # set prefix None \;\ # set key-table off \;\ # set status off \ # if -F "#{pane_in_mode}" "send-keys -X cancel" \;\ # refresh-client -S \;\ # bind -T off F12 \ # set -u prefix \;\ # set -u key-table \;\ # set status on \;\ # refresh-client -S