unbind C-b
set -g prefix C-s
bind s send-prefix

bind v split-window -h
bind b split-window
bind T source-file "$HOME/.tmux.conf" \; display-message "Reloaded $HOME/.tmux.conf"
bind O display-message "#(tmux-save-buffer '#S')"
bind D attach-session -t . -c '#{pane_current_path}' \; display-message "Set session path to #{pane_current_path}"
bind H set -s status
bind -n C-l select-pane -R
bind -n C-k select-pane -U
bind -n C-j select-pane -D
bind -n C-h select-pane -L
bind -n C-t new-window
bind Tab next-window
bind -n C-Tab next-window
bind -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 update-environment "WAYLAND_DISPLAY DISPLAY"

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 1024000
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 " #W"
set -g window-status-separator ""
set -g window-status-current-format " #W"
set -g status-left "#h:#S #W"
set -g status-right-length 280
set -g status-right "#(kubeline && printf ' ')"
	set -ag status-right "#(pwd | $XDG_CONFIG_HOME/lytedev-dotfiles/common/bin/glancepath) "
	set -ag status-right "#(cd '#{pane_current_path}' && git rev-parse --abbrev-ref --sq HEAD | tr -d \"'\")"
	set -ag status-right "#{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 u capture-pane \;\
# 	save-buffer /tmp/tmux-buffer \;\
# 	split-window -l 10 "urlscan /tmp/tmux-buffer"

bind -T copy-mode-vi "y" send-keys -X copy-pipe-no-clear 'wl-copy' \; display-message 'Copied to clipboard!'
bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-no-clear 'wl-copy' \; display-message 'Copied to clipboard!'

bind K kill-pane
bind C-S-k kill-window

# TODO: handle tmux nesting by being able to toggle the prefix (and indicate in status bar?)

# TODO: styles after `set -u key-table`
#if -F '#{pane_in_mode}' 'send-keys -X cancel' \;\
bind -T root F12 set -g prefix None \; set -g key-table off \; display-message "Keys OFF" \; refresh-client -S

# TODO: styles after `set -u key-table`
bind -T off F12 \
  set -g -u prefix \;\
  set -g -u key-table \;\
	display-message "Keys ON" \;\
  refresh-client -S

source-file "$ENV_PATH/*/tmux.d.conf"