Il existe plusieurs bibliothèques telles que ncurses qui aident à créer des interfaces graphiques en ligne de commande.Comment ncurses et. Al. Travail?
En termes simples, comment fonctionnent-ils? J'ai d'abord pensé que ncurses intercepte toutes les entrées au clavier et dessine chaque "image" en les sortant ligne par ligne normalement. Cependant, une inspection plus approfondie révèle que chaque nouvelle trame écrase la précédente. Comment modifie-t-il les lignes déjà sorties? De plus, comment gère-t-il la couleur?
EDIT: La même question s'applique à tout ce qui a une interface «de fantaisie», comme vim
et emacs
.
La plupart des terminaux prennent en charge (certaines de) les [séquences d'échappement ANSI] (https://en.wikipedia.org/wiki/ANSI_escape_code). Ils commencent par '\ 033 [' où '\ 033' est en effet ESC. Vous pouvez jouer à votre propre terminal en utilisant 'echo -e' pour en imprimer quelques-unes et voir ce qui se passe. ('reset' (tapez aveuglément et appuyez sur Entrée) sera votre ami si vous avez réussi à rendre le terminal invisible ...) – 5gon12eder