2

我使用 shell 脚本制作了一个简单的鼠标控制任务栏。它工作得很好,并使用 rxvt-unicode 来制作“图形”。

然而,不幸的是,我将此脚本从上网本移到了笔记本电脑上,当我更改终端窗口的大小并更新代码时,我发现我的鼠标报告在第 95 列之后停止工作(它总是返回!无论它在哪里超过 95 次点击)。

我发现鼠标报告有一个“限制”,在第 95 列。我的程序现在需要 123 列,而之前它恰好适合 95 列。

我查了一下这个问题,只找到了一个关于 95 列限制的引用。我发现的大部分内容实际上是指 223 列的限制。如果我有 223 限制,我会完全没问题,但我不明白如何切换它。

基本上,我对这个问题的理解还不够,无法应用我在谷歌上阅读的内容。通常我可以自己钓鱼,但这个问题困扰了我。

我正在使用本指南来告诉我要使用什么转义序列(我选择了 X10、仅单击、报告或转义序列 \033[?9h)。 如何在 bash 中获取 MouseMove 和 MouseClick?

我发现这个提到了 95 列的限制,但没有什么意义: Emacs、unicode、xterm 鼠标转义序列和宽终端

我正在使用小代码片段,或多或少基于此: http ://www.imbe.net/bizen?Linux/Mouse_In_A_Terminal

我发现其他的不是减去 223,而是减去 255。我的代码似乎没有受到这种变化的影响。

4

1 回答 1

1

我已经解决了我的问题。我从来不明白的是,一些鼠标报告设置可以同时处于活动状态。当 \033[?1015h 和 \033[?9h 结合使用时,我开始得到超过 95 标记的鼠标报告。1015适用于urxvt。我相信xterm中使用了1005h。

于 2013-11-27T19:48:48.217 回答