5.14 Exploiter des terminaux
Comme expliqué plus haut, les terminaux intelligents exploitent
certains caractères de contrôle pour gérer leur écran et ainsi limiter
le travail de l'unité centrale ainsi que le volume des échanges sur
les lignes de communications.
Les fonctions classiques sont les suivantes
-
effacer tout l'écran
-
effacer l'écran entre le curseur et la fin de l'écran
-
effacer l'écran entre le curseur et la fin de la ligne où il se trouve
-
insérer un caractère sous le curseur et déplacer d'un cran vers la
droite tous les caractères suivants de la ligne
-
effacer le caractère sous le curseur et ramener d'un cran vers la gauche tous
les caractères suivants de la ligne
-
insérer une ligne blanche au niveau du curseur et repousser ainsi toutes les
lignes suivantes (en perdant celle du bas de l'écran)
-
effacer la ligne sous le curseur et ajouter une ligne blanche en bas de
l'écran
-
positionner le curseur en un endroit quelconque de l'écran
-
écrire dans un mode différent qui tranche sur le fond ambiant, par
exemple clignotant, surbrillant, souligné, video inverse etc ...
De nombreuses autres fonctions existent mais seules les précédentes sont
usuelles sur les terminaux actuels.
En revanche leur mise en oeuvre varie fortement d'un terminal à l'autre.
Afin de pouvoir développer des logiciels multiterminaux,
UNIX
procure une bibliothèque
/usr/lib/libtermcap.a offrant ces fonctions et dont l'interface d'appel se trouve, comme
toutes les autres interfaces d'appels au système, dans le répertoire
/usr/include,
sous le nom
curses.h.
Pour réaliser l'effet demandé ces fonctions consultent un fichier
/etc/termcap (pour TERMinal CAPabilities),
véritable base de données, humainement lisible, sur les terminaux actuels.
Elles en déduisent les séquences de caractères
appropriées au terminal visé.
Le type de ce dernier est la valeur de la variable
TERM de
sh.
Modifier gratuitement cette valeur serait funeste
pour les éditeurs pleine page
et autres programmes usant d'effets video.