xterm*VT100。仅当鼠标位于 CYGWIN 下的 FVWM 中焦点位于窗口上方时进行翻译

xterm*VT100。仅当鼠标位于 CYGWIN 下的 FVWM 中焦点位于窗口上方时进行翻译

xterm*VT100. 仅当鼠标位于焦点窗口上方时才翻译

这是一个错误还是一个功能?

对我来说,这是一个严重的问题。

(点击聚焦)

仅限CYGWIN

我特别谈论的是功能键。在这种情况下,这些不会映射到 fvwm 中,而是映射到 xterm 中。

按功能键(如 F1)始终会写入具有焦点的窗口,但仅当鼠标悬停在具有焦点的窗口上时才执行 X11/xterm 转换。

因此,我总是必须将鼠标移动到窗口才能写入窗口。否则,\e[P 被写入窗口,例如

请注意,我可以使用键盘快捷键访问各种窗口,因此鼠标位置和窗口焦点没有自然的对应关系。

仅当使用 x11/cygwin xterms 时,才会发生 X11/xterm 转换失败的情况。通过 sshd(端口转发)本地打开的 Windows 表现正常,无论鼠标位于何处,都会执行到焦点窗口的转换。

fvwm 2.6.6 于 2016 年 10 月 10 日 00:25:52 编译,支持:ReadLine、XPM、PNG、SVG、Shape、XShm、SM、Bidi 文本、Xinerama、XRender、XCursor、XFT、NLS

答案1

鼠标光标位于滚动条上时的翻译

滚动条有自己的翻译。在“本机”X11 下,当鼠标光标位于滚动条上时它们适用,但当鼠标光标位于窗口外部时则不适用。您可以通过XTerm.vt100.scrollbar.translations(或使用类的变体)设置它们。您可能应该为键盘按键设置相同的翻译,但不为鼠标按钮设置相同的翻译。

如果滚动条中没有不需要的鼠标事件翻译,并且您没有使用该keymap(…)操作,则可以使用以下命令设置适用于两者的翻译

XTerm.vt100*translations: #override …

甚至

XTerm*translations: #override …

鼠标光标在窗口外时的翻译

当鼠标光标位于本机 X11 窗口之外时(包括 FVWM),我没有观察到不同的翻译。我怀疑当 xterm 远程运行或在非本机 X11 中运行时,在某些情况下,xterm 使用的库在鼠标光标位于窗口之外时无法正确跟踪鼠标光标,并且最终可能会认为鼠标光标位于它在窗口内的最后一个位置,或者在左上角((x,y)=(0,0),如果它位于左侧,则位于滚动条中)。如果是这样,按照上面的方法设置滚动条的翻译应该可以解决问题。如果没有,我不知道有什么可以帮助。

PS:当我必须使用桌面 Windows 时,我更喜欢在 mintty 中运行 Cygwin 命令行应用程序,并且我没有运行 X 服务器。但这是很久以前的事了(Windows XP 时代)。

相关内容