Non senza hackerare il codice sorgente di less. Un po 'di storia di fondo:
Less non è in grado di gestire il mouse (inclusi gli eventi di scorrimento).
Gli emulatori di terminale supportano un cosiddetto schermo alternativo. Questa è la maggior parte delle app a schermo intero che passano per la loro durata (e tornano alla schermata normale quando si chiudono, causando il "ripristino" dei contenuti precedenti) e non ha un buffer di scorrimento. Meno passa anche a questa schermata alternativa, a meno che non -X
sia indicato nel qual caso non lo è.
Molti emulatori di terminali hanno capito che quando è in modalità schermo alternativo e l'applicazione in esecuzione all'interno non è interessata agli eventi del mouse, ha senso convertire lo scorrimento in eventi di pressione dei tasti Su o Giù. È un hack, e sarebbe dannoso sullo schermo normale (immagina cosa succederebbe ad es. Al prompt della shell) o quando l'applicazione desidera gestire il mouse (certo, devono vedere gli eventi reali del mouse). Ma poiché per impostazione predefinita nessuno di questi due regge durante l'esecuzione less
, questo hack entra in azione (soggetto all'emulatore di terminale che lo supporta e abilitato tramite \e[?1007h
vs.\e[?1007l
). Gli eventi di scorrimento vengono convertiti dall'emulatore di terminale in pressioni di tasti Su e Giù e meno non riescono a distinguerli dai tasti premuti effettivi. Non riceve eventi di scorrimento del mouse: vede i tasti Su e Giù.
Quindi eccoti: O passi alla schermata alternativa e l'hack del terminale converte gli eventi scroll in tasti premuti per meno, e la schermata normale viene ripristinata quando esci; o non lo fai, e quindi non ci può essere alcuna magia che converta gli eventi di scorrimento in tasti premuti e meno non capisce gli eventi di scorrimento.
Quindi cosa si potrebbe fare? Bene, o implementa il supporto del mouse in meno e lascia che gestisca gli eventi di scorrimento stessi (e vivi con un clic non predefinito o un comportamento di copia e incolla), o implementa un altro strano trucco: al momento della chiusura, dopo essere tornato alla schermata normale, less
potrebbe per l'ultima volta stampare una schermata di contenuti, ripetendo ciò che è stato visualizzato prima di uscire.
In pratica, si riduce sostanzialmente a: scusa, dimenticalo.