午夜指挥官永久强制 xterm

午夜指挥官永久强制 xterm

我使用午夜指挥官 4.8.16。如果我设置 xterm 256 颜色:export TERM=screen-256color那么我的鼠标不起作用,但强制 xterm:mc -x可以解决问题。

如何永久强制xterm(在mc配置中不使用别名)?

答案1

使用起来TERM=screen-256color好像是个问题。在源代码中(tty_check_termDISPLAY),仅当同时设置时,Midnight Commander 才会将其视为“xterm”(并决定它支持鼠标) 。忽略注释(这是错误的),只阅读源代码。函数返回值用在一处,从main.c(再次,忽略评论......)。

kmous=\E[M,Midnight Commander 忽略了终端描述的实际内容,这恰好表明该配置支持 xterm 风格的鼠标(即描述中存在)。它这样做是为了解决使用俚语的问题,俚语也会忽略终端描述,只查看TERM.这是一个老错误,可以追溯到 20 世纪 90 年代。

作为解决方法,您可以如果未设置,则设置DISPLAY为虚拟值,因为 Midnight Commander 除了此检查之外什么也不做。根据您的环境,这可能会产生其他副作用。

进一步阅读:

  • 扩展(terminfo-终端能力数据库)

小心分配kmous 能力。 ncurses 想要将其解释为KEY_MOUSE,供终端和模拟器(例如 xterm)使用,可以在键盘输入流中返回鼠标跟踪信息。

相关内容