当我less file.txt
(例如)在终端中运行时,我可以使用鼠标滚轮滚动浏览file.txt
。
当在 byobu 窗格中运行时less file.txt
,当我使用鼠标滚轮滚动时会发生以下两种情况之一:
如果 byobumouse-mode
关闭,整个终端就会滚动,将byobu
自己推离屏幕,并且不会传递任何内容到less
。
如果 byobumouse-mode
处于打开状态,则窗格将进入滚动回滚模式,行[10/220]
计数器位于顶角,并且不会向 传递任何内容less
。
如何配置byobu
将鼠标事件发送到我正在滚动的窗格?
我在 Xubuntu 20.04 上使用 xfce4-terminal。
答案1
# Emulate scrolling by sending up and down keys if these commands are running in the pane
tmux_commands_with_legacy_scroll="nano less more man git"
bind-key -T root WheelUpPane \
if-shell -Ft= '#{?mouse_any_flag,1,#{pane_in_mode}}' \
'send -Mt=' \
'if-shell -t= "#{?alternate_on,true,false} || echo \"#{tmux_commands_with_legacy_scroll}\" | grep -q \"#{pane_current_command}\"" \
"send -t= Up Up Up" "copy-mode -et="'
bind-key -T root WheelDownPane \
if-shell -Ft = '#{?pane_in_mode,1,#{mouse_any_flag}}' \
'send -Mt=' \
'if-shell -t= "#{?alternate_on,true,false} || echo \"#{tmux_commands_with_legacy_scroll}\" | grep -q \"#{pane_current_command}\"" \
"send -t= Down Down Down" "send -Mt="'