tmux: Scroll only 5 lines when entering copy-mode

Only scroll 5 lines instead of a full page when entering copy-mode
through the wheel as a full page was too disorienting.

TODO: Pass `WheelUpPane` after entering copy-mode instead of redundantly
executing it's bound command.

Somehow neither of the following worked:

  send -XM WheelUpPane
  send -X WheelUpPane
This commit is contained in:
2022-09-08 16:35:24 +02:00
parent b807497984
commit eca58c09f8

View File

@@ -11,10 +11,12 @@ bind -T copy-mode-vi MouseDragEnd1Pane send -X copy-pipe-no-clear "xclip -se p"
# https://github.com/neovim/neovim/wiki/FAQ#cursor-shape-doesnt-change-in-tmux
set -ga terminal-overrides '*:Ss=\E[%p1%d q:Se=\E[ q'
# Scroll up one page when entering copy-mode through the mouse wheel. Also
# Scroll up 5 lines when entering copy-mode through the mouse wheel. Also
# discard the `-e` flag passed to copy-mode from the default binding (See below)
bind -n WheelUpPane \
if -F "#{||:#{pane_in_mode},#{mouse_any_flag}}" { send -M } { copy-mode -u }
if -F "#{||:#{pane_in_mode},#{mouse_any_flag}}" \
{ send -M } \
{ copy-mode; send -XN5 scroll-up }
# Scroll without selecting the pane
bind -T copy-mode-vi WheelUpPane send -XN5 scroll-up
# Exit copy-mode when at the bottom. This practically mimics `copy-mode -e` but