L'excellent article auquel Jon Z fait référence n'est plus disponible, mais j'ai pu en pêcher la version texte dans le cache de Google. Je le sauvegarde ici au cas où Google le supprimerait également à l'avenir. L'article original a été publié par Mikael Ståldal, il faut donc rendre à César ce qui appartient à César.
--
Comment utiliser la molette de la souris dans GNU Screen
GNU Screen prend en charge le retour par défilement, mais par défaut, vous devez utiliser des touches maladroites pour l'utiliser. J'aimerais pouvoir utiliser Shift-PageUp, Shift-PageDown et la molette de la souris pour faire défiler les pages, comme on peut le faire dans xterm.
Il n'a pas été facile de configurer Screen pour cela, et cela implique une coopération avec l'émulateur de terminal. Mais j'ai finalement réussi à trouver une solution qui fonctionne plutôt bien. Ajoutez ceci à votre fichier ~/.Xresources (vous devez vous déconnecter pour que cela prenne effet) :
XTerm*saveLines: 0
XTerm*vt100.translations: #override \n\
Ctrl <Btn4Down>: string(0x1b) string("[25S") \n\
Lock Ctrl <Btn4Down>: string(0x1b) string("[25S") \n\
Lock @Num_Lock Ctrl <Btn4Down>: string(0x1b) string("[25S") \n\
@Num_Lock Ctrl <Btn4Down>: string(0x1b) string("[25S") \n\
<Btn4Down>: string(0x1b) string("[5S") \n\
Ctrl <Btn5Down>: string(0x1b) string("[25T") \n\
Lock Ctrl <Btn5Down>: string(0x1b) string("[25T") \n\
Lock @Num_Lock Ctrl <Btn5Down>: string(0x1b) string("[25T") \n\
@Num_Lock Ctrl <Btn5Down>: string(0x1b) string("[25T") \n\
<Btn5Down>: string(0x1b) string("[5T") \n\
Shift <KeyPress> Prior: string(0x1b) string("[25S") \n\
Shift <KeyPress> Next: string(0x1b) string("[25T") \n
Puis ajoutez ceci à votre fichier ~/.screenrc :
defscrollback 1000
# Scroll up
bindkey -d "^[[5S" eval copy "stuff 5\025"
bindkey -m "^[[5S" stuff 5\025
# Scroll down
bindkey -d "^[[5T" eval copy "stuff 5\004"
bindkey -m "^[[5T" stuff 5\004
# Scroll up more
bindkey -d "^[[25S" eval copy "stuff \025"
bindkey -m "^[[25S" stuff \025
# Scroll down more
bindkey -d "^[[25T" eval copy "stuff \004"
bindkey -m "^[[25T" stuff \004
Cela fonctionne dans xterm. Je ne suis pas sûr que cela fonctionne dans d'autres émulateurs de terminal.
Notez que cela désactive la prise en charge normale du défilement dans xterm, vous ne pourrez faire défiler que si vous utilisez Screen. Vous pourriez vouloir démarrer xterm comme ceci pour toujours utiliser Screen :
xterm -e screen
0 votes
JesperE - Pouvez-vous changer la réponse choisie ? Je me suis embrouillé, et les commentaires ont raison, l'autre réponse est bien meilleure.
0 votes
Je n'utilise pas l'écran aujourd'hui, mais les votes positifs semblent assez convaincants :)