Le manuel des programmeurs MGR, l'interface des applications langage C, se trouvent dans le répertoire doc sous forme de fichier exploitable par troff/nroff. Il traite de concepts généraux, des appels fonction/macro contrôlant le serveur, d'un exemple d'application, avec index et glossaire. Porter le code client utilisé avec les anciennes versions de MGR demande le remplacement de
#include <mgr/mgr.h>
par
#include <term.h>
#include <dump.h>
et des clients utilisant les vieux B_XOR, B_CLEAR, etc. au lieu de BIT_XOR, BIT_CLR
et autres peuvent être adaptés en écrivant~:
#define OLDMGRBITOPS
#include <mgr/mgr.h>
Compiler le code client demande en général des options telles que~:
-I/usr/mgr/include -L/usr/mgr/lib -lmgr
Vous pouvez obtenir un aperçu de l'interactivité des fonctions serveur
MGR en lisant et essayant le pilote de terminal mgr.el
pour GNU Emacs, qui met en oeuvre la bibliothèque interface MGR
en Elisp.
L'habitude qui consiste à s'enquérir de l'état du serveur a pour risque
de se casser la figure si le client attend en même temps un grand volume
de notification d'événements. Ce problème arrive lorsque une notification
d'événement (asynchrone) survient quand une réponse à une demande
(synchrone) était attendue. Si cela arrive dans la pratique (non habituel)
alors les fonctions de demande d'état MGR doivent être intégrées
avec votre boucle de manipulation d'événement.
La seule fonction manquante pour les dessins dans le protocole MGR
est celle de remplissage de surfaces autres que les rectangles. Il y a un
nouveau code pour manipuler la carte des couleurs globale, et aussi
pour l'allocation et la délivrance des indices de couleur appartenant
à chaque fenêtre.
Si vous voulez fouiller dans les progammes serveurs, vous trouverez
le pilote de souris dans mouse.*
et mouse_get
,
les abominables choses concernant l'interface clavier dans kbd.c
,
et l'interface vidéo dans les répertoires src/libbitblit/*
.
La procédure principale, plutôt l'initialisation, et la boucle d'entrée
de niveau supérieur sont dans mgr.c
, enfin l'interprétation des
séquences d'échappement dans put_window.c
.
Chapitre suivant, Chapitre Précédent
Table des matières de ce chapitre, Table des matières générale
Début du document, Début de ce chapitre