炸鱼薯*_*德里克 0 terminal-emulator xfce4-terminal
man 本身应该对鼠标滚轮一无所知,并且 xfce4-terminal 窗口的滚动条不会改变,所以......
当窗口从 X 服务器捕获鼠标滚轮事件时,xfce4-terminal 是否向 pty master fd 发送了一些东西?
如果是,它会向 pty 设备写入什么以表现得像我按下了Down键?
还是我完全错过了什么?
您的寻呼机在备用屏幕缓冲区中显示其内容,该缓冲区选择“备用滚动模式”(您可以看到这是因为垂直滚动条发生了变化——它不再允许滚动窗口内容),在该模式下,终端会转换鼠标滚轮移动到光标上/下控件。这是很久以前在XTerm中引入的,并在当前终端中得到广泛支持。
要查看用于切换到备用屏幕缓冲区的序列,请运行
tput smcup | od -a
Run Code Online (Sandbox Code Playgroud)
你应该看到esc [ ? 1 0 4 9 h。这是寻呼机发送到终端的内容。?由终端发送给正在运行的应用程序的 CSI B 表示。
如果您的寻呼机是less,您可以通过导出LESS=X到环境来禁用它(这会跳过终端初始化)。