마우스 휠로 화면 내에서 스크롤

마우스 휠로 화면 내에서 스크롤

나는 screen간단한 상태 표시 줄을 사용합니다. 무언가를 스크롤하려면 Ctrl+a를 사용하여 ESC복사 모드로 전환한 다음 키보드를 사용하여 스크롤할 수 있습니다. 이는 다중 버퍼 및 분할에서도 잘 작동합니다.

내 질문은 다음과 같습니다마우스 휠을 사용하여 화면을 스크롤하려면 어떻게 구성합니까?

참고 1: 마우스 휠을 사용하여 터미널 내에서 스크롤할 수 있지만 다중 버퍼 및 분할에서는 전혀 작동하지 않습니다.

노트 2: termcapinfo xterm* ti@:te@ 이 솔루션은 터미널 스크롤을 사용하기 때문에 도움이 되지 않습니다. 이는 상태 줄, 다중 버퍼 및 분할과 호환되지 않습니다.

IMHO 최고의 솔루션은 다음과 같습니다.

  • 복사 모드에서는 키보드 배열과 마찬가지로 마우스 휠을 사용하여 스크롤합니다.
  • 화면이 일반 모드일 때 마우스 휠 이벤트 "스크롤 업"이 발생하면 화면이 복사 모드로 전환되고 해당 이벤트를 처리합니다.
  • 화면이 복사 모드이고 마우스 휠 이벤트 "아래로 스크롤"이 발생하면, 즉 맨 아래에 도달하면 화면이 복사 모드를 종료합니다.
  • 화면 상태 표시줄은 항상 표시되고 새로 고쳐집니다(키보드로 스크롤하면 이미 작동함).

답변1

screen확실히알다휠마우스에 대해서. 터미널과 키보드(이스케이프 시퀀스 포함)에서 보낸 키만 알고 있습니다.

  • screen알다마우스 클릭(소스 코드에는 "왼쪽 마우스 클릭"만 언급되어 있습니다). 소스 코드를 읽을 수 있습니다(디스플레이.c) 무엇을 하는지 확인하고 그 이상은 필요하지 않습니다(이는 특히screen는 마우스 이벤트가 디코딩되는 유일한 장소입니다.
  • xterm 마우스 프로토콜은 휠 마우스를 나타내기 위해 버튼 4와 5를 보냅니다. screen이에 대해 알려진 바는 없습니다. 터미널에서 실행되는 응용 프로그램에서 특별히 처리될 수 있습니다.
  • 일부 터미널에서는 위/아래 스크롤을 시뮬레이션하기 위해 대체 화면에 커서 키를 보냅니다. screen(예상대로) 또한 이를 애플리케이션에 전달합니다.

관련 정보