Fonctionnement du programme

structure générale d'un programme X :
1. établissement d'une connexion à un serveur X,
2. initialisation/création des fenêtres et autres ressources,
3. boucle d'attente et traitement des évènements,
4. fermeture des ressources (y'en pas dans essaiX20.c)

Fonctionnement de ce programme:
GC : graphic context, contexte graphique, "trousse pour dessiner, écrire, ..."
Display : canal d'affichage
screen : numéro d'écran
Window : type fenêtre
root : fenêtre racine
pixel : blanc/noir (sans se soucier du mode graphique)

win = XCreateSimpleWindow (display, root,
0, 0, 100, 90, 2, black_pixel, white_pixel);
crée une nouvelle fenêtre win(fille de root), mais ne l'affiche pas !
Le coin gauche de la fenêtre win sera en coordonnées (0,0) par rapport au coin haut-gauche de la fenêtre root.
La nouvelle fenêtre aura une largeur de 100 points et une hauteur de 90 points, sa couleur de fond sera black_pixel. Autour d'elle, une bordure de 2 points de large et de couleur white_pixel.

XSelectInput (display, win, ExposureMask)
sélectionne l'événement Expose pour la fenêtre win.
ExposureMask est le masque de sélection de l'événement Expose.

XStoreName
facultatif ! indique au gestionnaire de fenêtre le nom que l'on souhaite donner à celle-ci.

XMapWindow
affiche la fenêtre (mais elle peut être recouverte partiellement ou totalement par une autre). Ses caractéristiques peuvent être modifiées par le gestionnaire de fenêtre, notamment x et y.

XNextEvent
fournit le prochain événement de la file d'attente, ou l'attend si elle est vide.

Expose est le type d'événement signifiant que tout ou une partie de la fenêtre est visible (exposé !).

XDrawString (display, win, gc, 10, 30, "Bienvenue sous X !", 18);
dessine les 18 caractères de la chaine "Bienvenue .." selon les caractéristiques de la ressource gc sur la ligne d'écriture commencant en (10,30) de la fenêtre.

programme premier.c index général fonctions de la XLib événements types dans XLib