Nicht ohne den Quellcode von less zu hacken. Ein bisschen Hintergrundgeschichte:
Weniger kann überhaupt nicht mit der Maus (einschließlich Bildlaufereignissen) umgehen.
Terminalemulatoren unterstützen einen sogenannten alternativen Bildschirm. Dies ist, zu dem die meisten Vollbild-Apps für ihre Dauer wechseln (und beim Beenden zum normalen Bildschirm zurückkehren, wodurch der vorherige Inhalt "wiederhergestellt" wird), und es gibt keinen Scrollback-Puffer. Less wechselt auch zu diesem alternativen Bildschirm, es -X
sei denn, dies ist in diesem Fall nicht der Fall.
Viele Terminalemulatoren haben herausgefunden, dass es im alternativen Bildschirmmodus und wenn die darin ausgeführte Anwendung nicht an Mausereignissen interessiert ist, sinnvoll ist, das Scrollen in Aufwärts- oder Abwärts-Tastendruckereignisse umzuwandeln. Es ist ein Hack, und er wäre entweder auf dem normalen Bildschirm schädlich (stellen Sie sich vor, was beispielsweise an Ihrer Shell-Eingabeaufforderung passieren würde) oder wenn die Anwendung mit der Maus umgehen möchte (sicher müssen sie dann die tatsächlichen Mausereignisse sehen). Da jedoch standardmäßig keine dieser beiden Optionen beim Ausführen aktiviert ist less
, wird dieser Hack aktiviert (sofern der Terminalemulator dies unterstützt und über \e[?1007h
vs.\e[?1007l
). Ihre Bildlaufereignisse werden vom Terminalemulator in Aufwärts- und Abwärts-Tastendrücke konvertiert, und weniger können sie nicht von tatsächlichen Tastendrücken unterscheiden. Es werden keine Maus-Scroll-Ereignisse empfangen: Es werden Auf- und Ab-Tastendrücke angezeigt.
Sie haben also folgende Möglichkeiten: Entweder Sie wechseln zum alternativen Bildschirm, und der Hack des Terminals wandelt Bildlaufereignisse für weniger Zeit in Tastendrücke um, und der normale Bildschirm wird beim Beenden wiederhergestellt. oder Sie tun es nicht, und dann kann es keine Magie geben, die Bildlaufereignisse in Tastendrücke umwandelt, und weniger versteht die Bildlaufereignisse nicht.
Was könnte also getan werden? Nun, implementieren Sie entweder die Mausunterstützung in weniger und lassen Sie sie Scroll-Ereignisse selbst verarbeiten (und leben Sie mit einem nicht standardmäßigen Klick- oder Kopier-Einfüge-Verhalten) oder implementieren Sie einen anderen seltsamen Hack: Beim Beenden, nachdem Sie zum normalen Bildschirm zurückgekehrt sind, less
könnte dies zum letzten Mal geschehen Drucken Sie einen Bildschirm mit Inhalten und wiederholen Sie alles, was vor dem Beenden angezeigt wurde.
In der Praxis läuft es im Grunde darauf hinaus: Entschuldigung, vergiss es.