Je voulais juste rendre Emacs plus joli — utiliser la couleur 24 bits dans le terminal
- La communauté Emacs est active et, via LSP, offre des fonctionnalités modernes d’autocomplétion et de vérification de types en ligne.
- Dans un environnement graphique, Emacs prend automatiquement en charge les couleurs 24 bits, mais pas dans le terminal.
Codes d’échappement ANSI
- Les premiers terminaux matériels proposaient des codes de contrôle incompatibles entre eux, et ANSI les a standardisés.
- SGR (Select Graphics Rendition) permet de définir divers attributs d’affichage des caractères.
Couleurs sur 3, 4 et 8 bits
- Lors de l’introduction de la couleur, il existait 8 couleurs de base, puis des couleurs claires ont été ajoutées pour atteindre un total de 16 couleurs.
- En 1999, Todd Larason a ajouté à xterm un patch apportant la prise en charge de 256 couleurs.
D’où vient la prise en charge de la couleur 24 bits ?
- La manière d’envoyer des couleurs 8 bits et 24 bits à des terminaux compatibles est bien documentée.
- Avec le processus de normalisation ANSI des années 1970 puis ISO 8613-6 (ITU T.416) dans les années 1990, 38 et 48 ont été définis comme modes étendus de couleur de premier plan et d’arrière-plan.
Terminfo
- Terminfo fournit une base de données des capacités des terminaux, et la variable d’environnement TERM indique aux programmes quelle entrée terminfo utiliser.
xterm-256color et xterm-direct prennent respectivement en charge 256 couleurs et les couleurs RGB.
Réglage de TERM : le problème des points-virgules
- Comme plusieurs terminaux ne prennent en charge que la syntaxe avec points-virgules, il faut vérifier que TERM est correctement configuré.
Configuration d’Emacs
- Emacs documente la manière de détecter la prise en charge du truecolor.
RGB est la fonctionnalité de couleur par défaut d’Emacs, qui recherche d’abord les chaînes setf24 et setb24.
Terminaux imbriqués
- Un workflow courant consiste à utiliser plusieurs terminaux imbriqués.
- Toutes les couches doivent comprendre les couleurs 24 bits et les convertir correctement.
Émulateur de terminal graphique
- La plupart des terminaux définissent TERM sur une valeur par défaut raisonnable ou permettent de le surcharger.
ssh
ssh transmet la valeur de TERM à l’hôte distant.
tmux
- Dans
tmux, il faut définir un TERM comme tmux-direct.
Avis de GN⁺
- Le point le plus important de cet article est la demande des utilisateurs d’utiliser des couleurs de haute qualité même dans un environnement terminal, ainsi que les avancées techniques qui le rendent possible.
- La prise en charge des couleurs 24 bits est une fonctionnalité importante qui permet aux développeurs d’offrir une meilleure expérience utilisateur, en améliorant nettement le confort visuel, notamment dans des outils comme les éditeurs de code.
- Cet article intéressera et aidera les utilisateurs de terminaux et d’Emacs, et fournit des informations utiles à ceux qui recherchent une excellente expérience visuelle même dans un environnement de travail basé sur le terminal.
1 commentaires
Avis Hacker News
Exprime sa surprise face à la complexité des applications de terminal et remercie les développeurs d’applications de terminal comme iTerm et Kitty.
Pense personnellement qu’ajuster la palette 16 couleurs pour chaque application de terminal est plus simple que d’aligner précisément le code terminal côté application.
.Xdefaultset dans un fichier de thème personnalisé.el.ls, entre autres.Suppose que l’auteur aurait eu une meilleure expérience s’il avait connu
export COLORTERM=truecolor.Souligne qu’il n’est pas nécessaire d’utiliser un terminal pour utiliser Emacs, et qu’on peut employer un frontal « graphique » pour MacOS, Windows, X.org ou Wayland.
Fait remarquer que l’informatique a peut-être perdu sa direction, avec des systèmes de production qui utilisent encore des émulateurs de terminal, des éditeurs et des versions de systèmes d’exploitation des années 1970.
Blague en disant qu’il veut utiliser Cool Retro Term pour rendre Emacs plus stylé.
Découvre que les séquences d’échappement ANSI standard fonctionnent dans l’invite de commandes de Windows 10, et que la couleur 24 bits fonctionne aussi très bien.
Mentionne que le meilleur point d’Emacs par rapport à vim/neovim est que la prise en charge GUI y est traitée comme un citoyen de première classe.
Dit qu’il n’utilisera probablement pas cette fonctionnalité parce qu’il emploie une configuration Emacs avec un usage minimal des couleurs, tout en disant avoir beaucoup apprécié la lecture.
Critique le fait que les standards soient vendus à des prix si élevés que les gens sont forcés d’aller aussi loin sans les acheter.