Pimp my GNU Screen
J'utilise le vénérable GNU Screen depuis… un certain temps. J'ai perdu le compte exact mais tmux
n'existait pas encore et tmux
existe depuis 2007.
C'est du GNU donc c'est spartiate et obscur mais ça a le mérite d'être là, d'être partout, et de fonctionner partout de la même manière. Par contre on sent que ça a perdu en popularité au fil des années, par exemple si on cherche des informations d'usage précises qui ne sont pas du copier-coller qui circule sans qu'on sache d'où ça vient ni comment ça marche. Demandez comment on change le hardstatus
, vous verrez.
Signe des temps : quand je pose une question sur GNU Screen on me répond d'utiliser tmux
. D'accord. Donc à la place j'ai attendu d'avoir le temps de lire toute la documentation de GNU Screen de bout en bout pour savoir en détails ce qu'on peut en faire et comment on peut le configurer. Et là il s'avère que c'est plus flexible qu'on l'imagine au premier abord mais qu'il faut se coltiner des pages et des pages de documentation écrites par et pour des barbus d'avant le Web, donc je vous épargne ça et je partage mon fichier de configuration screenrc
.
Fonctionnalités en vrac dans cette config :
- un thème de couleurs en tons de gris pour la ligne
hardstatus
, les messages, les séparateurs de régions (le blanc me brûlait les yeux) - une ligne
hardstatus
épurée et lisible, avec à gauche la liste des fenêtres et à droite le nom de la session et une horloge (bonus: les commentaires qui expliquent champ par champ comment elle fonctionne) - des commandes clavier inspirées de Vim pour la navigation entre les régions (pourquoi il n'y en a pas par défaut reste un mystère à mes yeux)
- huit dispositions de régions créées d'avance, et une commande clavier pour passer de l'une à l'autre
- des commandes clavier pour redimensionner les régions
- des commandes clavier pour échanger les fenêtres, et les renuméroter
- des commandes plus simples à retenir pour le monitoring (
m
) et le silence monitoring (s
) - un effacement correct de l'affichage quand on quitte un programme interactif, par exemple Vim
- la désactivation du message au lancement, on se fiche bien du pédigrée et de la license du machin
Deux points sont à garder à l'esprit avant de copier-coller sans lire : d'abord c'est ma configuration et le plus clair de mon temps est passé dans Vim dans un terminal plein écran, donc j'utilise un layout en trois colonnes dont la colonne centrale me permet d'afficher 80 caractères et les numéros de lignes et la colonne de gauche est dimensionnée pour que la colonne centrale soit effectivement centrée sur mon écran. C'est à adapter à votre situation bien sûr, pour savoir vite quelle est la largeur d'un terminal : tput cols
. Ensuite c'est testé avec GNU Screen en version 4.06.02, y'a pas de raison que ça ne fonctionne pas avec des versions plus récentes mais je ne suis pas du tout certain que ça fonctionne avec des versions plus anciennes.
C'est disponible sur GitHub.