Gnu-Screen

在螢幕內使用滑鼠滾輪滾動

  • July 1, 2016

我使用screen簡單的狀態行。如果我要滾動,我使用Ctrl+aESC進入複製模式,然後我可以使用鍵盤滾動。這也適用於多個緩衝區和拆分。

我的問題是:如何配置螢幕以使用滑鼠滾輪滾動?

注意 1:使用滑鼠滾輪我可以在終端內滾動,但這根本不適用於多個緩衝區和拆分。

注意 2:該 termcapinfo xterm* ti@:te@ 解決方案沒有幫助,因為它使用終端滾動。這與狀態行、多個緩衝區和拆分不兼容。

恕我直言,最好的解決方案是:

  • 在複製模式下,滑鼠滾輪用於滾動,就像鍵盤陣列一樣。
  • 如果螢幕處於正常模式並且滑鼠滾輪事件“向上滾動”出現,則螢幕切換到複製模式並處理該事件
  • 如果螢幕處於複製模式並且滑鼠滾輪事件“向下滾動”進入,則擊中底部,螢幕離開複製模式
  • 螢幕狀態行始終可見並刷新(如果使用鍵盤滾動,已經可以使用)

screen知道滾輪滑鼠。它只知道終端及其鍵盤發送的鍵(包括轉義序列):

  • screen知道滑鼠點擊(它的原始碼只提到“滑鼠左鍵”)。您可以閱讀原始碼 ( display.c ) 以了解它的功能僅此而已(尤其是screen,這是解碼滑鼠事件的唯一地方)。
  • xterm 滑鼠協議將發送按鈕 4 和 5 來指示滾輪滑鼠。 screen對此一無所知;在終端中執行的應用程序可能會對其進行特殊處理。
  • 在備用螢幕中時,一些終端會發送游標鍵來模擬向上/向下滾動。 screen(如預期的那樣)也將其傳遞給應用程序。

引用自:https://unix.stackexchange.com/questions/293279