如何减少传呼机对滚轮的响应并不清除屏幕


13

我知道一些答案,例如如何使鼠标滚动,使小寻呼机使用bash和gnome-terminal,这是-X从$ LESS环境变量中删除该标志。但是我想做这两个

  1. 使用鼠标滚轮滚动寻呼机(而不是滚动终端窗口的滚动条)(你通过得到消除 -X来自$LESS
  2. 有从寻呼机内容保持在屏幕上戒烟后(这通常是通过实现加入 -X$LESS)。

有什么办法可以让我也可以吃蛋糕吗?

Answers:


20

并非没有hackless的源代码。一些背景故事:

Less根本无法处理鼠标(包括滚动事件)。

终端仿真器支持所谓的备用屏幕。这是大多数全屏应用程序在其使用期间会切换到的状态(退出时会切换回普通屏幕,从而导致先前的内容“恢复”),并且没有回滚缓冲区。Less也会切换到该备用屏幕,除非-X在这种情况下没有给出。

许多终端仿真器发现,当它处于备用屏幕模式并且内部运行的应用程序对鼠标事件不感兴趣时​​,将滚动转换为向上或向下按键事件是有意义的。这是一种黑客行为,在正常屏幕上(例如在您的shell提示符下想象会发生什么),或者在应用程序希望处理鼠标时(肯定的,他们必须先查看实际的鼠标事件),这都是有害的。但是由于默认情况下,这两种设置在您运行时均不成立less,因此会触发该hack(受支持它的终端仿真器的支持,并通过\e[?1007hvs. 启用。\e[?1007l)。滚动事件将由终端仿真器转换为向上和向下按键,而很少有人无法将它们与实际按键区分开。它不接收鼠标滚动事件:可以看到向上和向下按键。

因此,您可以:要么切换到备用屏幕,要么终端的hack将滚动事件转换为按键事件所需的时间更少,并且退出时可以恢复正常屏幕;或您不这样做,那么将滚动事件转换为按键就不会有任何魔术,更少的人就不会理解滚动事件。

那该怎么办呢?好吧,要么以更少的方式实现鼠标支持,然后让它自己处理滚动事件(并具有非默认的单击或复制粘贴行为),要么实现另一种怪异的破解:退出时,返回到正常屏幕后,less最后一次可以打印一屏内容,并重复退出前显示的内容。

实际上,它基本上可以归结为:对不起,算了。


0

显然,升级到530以下或更新将为您提供所需的功能,

http://www.greenwoodsoftware.com/less/news.530.html

这些是版本487和版本530之间的区别:

如果使用-F并且文件适合放在一个屏幕上,则不要输出终端初始化序列。

找不到任何具有较新版本的“较少” PPA,因此只需下载源包并在本地构建并安装它即可。

并像这样配置git:

git config --global core.pager 'less -F -S -R -i -+X'

更多信息: 如何在不使用“ -X”的情况下使用“ less -F”,但是如果只有一页则仍显示输出?


0

确实不可能使用鼠标滚轮在较少的寻呼机中滚动,但是可以使用鼠标滚轮在w3m寻呼机中滚动内容!w3m是“ 具有出色的表/框架支持的WWW可浏览寻呼机 ”,因此甚至可以将其用作控制台Web浏览器。而且,可以将w3m用作控制台图像查看器(并非与所有终端仿真器一起使用,但与xterm一起使用时效果很好)。w3m“ 具有对表格,框架,SSL连接,彩色和嵌入式图像的支持 ”。非常有用的应用程序! 屏幕截图

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.