Làm thế nào để làm cho máy nhắn tin ít phản ứng với bánh xe cuộn và không xóa màn hình


13

Tôi biết về các câu trả lời như how-to-make-mouse-wheel-scroll-the-less-pager-using-bash-and-gnome-terminal , đó là xóa -Xcờ khỏi biến môi trường $ LESS. Nhưng tôi muốn làm cả hai điều này:

  1. sử dụng bánh xe chuột để cuộn máy nhắn tin (trái ngược với cuộn thanh cuộn của cửa sổ đầu cuối) (mà bạn nhận được bằng cách xóa -X khỏi $LESS)
  2. có nội dung từ máy nhắn tin vẫn còn trên màn hình sau khi thoát (thường được thực hiện bằng cách thêm -X vào $LESS).

Có cách nào tôi có thể có bánh của tôi và ăn nó là tốt?

Câu trả lời:


20

Không phải không hack mã nguồn ít hơn. Một chút câu chuyện nền:

Ít hơn không thể xử lý chuột (bao gồm cả các sự kiện cuộn).

Trình giả lập thiết bị đầu cuối hỗ trợ một cái gọi là màn hình thay thế. Đây là điều mà hầu hết các ứng dụng toàn màn hình chuyển sang thời lượng của chúng (và quay lại màn hình bình thường khi chúng thoát, khiến các nội dung trước đó "khôi phục") và nó không có bộ đệm cuộn lại. Ít hơn cũng chuyển sang màn hình thay thế này, trừ khi -Xđược đưa ra trong trường hợp nó không.

Nhiều trình giả lập thiết bị đầu cuối đã phát hiện ra rằng khi nó ở chế độ màn hình thay thế ứng dụng chạy bên trong không quan tâm đến các sự kiện chuột, việc chuyển đổi cuộn thành các sự kiện nhấn phím Lên hoặc Xuống có ý nghĩa. Đó là một hack và nó có hại trên màn hình bình thường (hãy tưởng tượng điều gì sẽ xảy ra, ví dụ như tại dấu nhắc shell của bạn) hoặc khi ứng dụng muốn xử lý chuột (chắc chắn, sau đó họ phải xem các sự kiện chuột thực tế). Nhưng vì theo mặc định, cả hai đều không giữ được khi bạn chạy less, hack này khởi động (tùy thuộc vào trình giả lập thiết bị đầu cuối hỗ trợ nó và được kích hoạt thông qua \e[?1007hvs.\e[?1007l). Các sự kiện cuộn của bạn được trình mô phỏng đầu cuối chuyển đổi thành các phím nhấn Lên và Xuống và ít có thể phân biệt chúng với các phím bấm thực tế. Nó không nhận được các sự kiện cuộn chuột: nó nhìn thấy các phím nhấn Lên và Xuống.

Vì vậy, bạn có: Hoặc là bạn chuyển sang màn hình thay thế và hack của thiết bị đầu cuối chuyển đổi các sự kiện cuộn thành phím bấm và màn hình bình thường được khôi phục khi bạn thoát; hoặc bạn không, và sau đó không thể có bất kỳ sự kiện cuộn chuyển đổi kỳ diệu nào thành phím bấm và ít hiểu các sự kiện cuộn.

Vì vậy, những gì có thể được thực hiện? Chà, hoặc thực hiện hỗ trợ chuột ít hơn và để nó tự xử lý các sự kiện cuộn (và sống với hành vi nhấp chuột không sao chép hoặc sao chép-dán) hoặc thực hiện một hành động hack kỳ lạ khác: sau khi thoát khỏi màn hình bình thường, lesscó thể lần cuối in một màn hình nội dung, lặp lại bất cứ điều gì được hiển thị trước khi bạn thoát.

Trong thực tế, về cơ bản, nó sôi lên: xin lỗi, quên nó đi.


0

Rõ ràng nâng cấp lên ít hơn 530 hoặc mới hơn sẽ giúp bạn có được tính năng mong muốn,

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

Đây là những khác biệt giữa phiên bản 487 và phiên bản 530:

Không xuất trình tự đầu cuối terminal nếu sử dụng -F và tệp vừa với một màn hình.

Không tìm thấy bất kỳ PPA 'ít' nào có phiên bản mới hơn, vì vậy chỉ cần tải xuống gói nguồn và xây dựng cục bộ và cài đặt nó.

và cấu hình git như thế này:

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

Thông tin thêm: Làm thế nào để sử dụng ít hơn -Fiên mà không có -Xiên, nhưng vẫn hiển thị đầu ra nếu chỉ có một trang?


0

Không thực sự có thể sử dụng bánh xe chuột để cuộn trong máy nhắn tin ít hơn, nhưng có thể sử dụng bánh xe chuột để cuộn nội dung với máy nhắn tin w3m! w3m là một " máy nhắn tin có thể duyệt WWW với khả năng hỗ trợ bảng / khung tuyệt vời ", do đó, thậm chí có thể sử dụng nó làm trình duyệt web console. Hơn nữa, có thể sử dụng w3m làm trình xem ảnh console (không hoạt động với tất cả các trình giả lập thiết bị đầu cuối, nhưng hoạt động khá tốt với xterm). w3m " có hỗ trợ cho bảng, khung, kết nối SSL, màu sắc và hình ảnh nội tuyến ". Ứng dụng rất hữu ích! ảnh chụp màn hình

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.