Xlib: Display


Qu'est-ce qu'un display ?

Un display est une connexion (socket) au serveur X.

On emploie souvent le mot display pour désigner l'écran, mais ceci est un abus de langage. En effet, un display peut avoir plusieurs écrans !

Comment ouvrir un display ?



     Display *dpy = XOpenDisplay(char *display name);
     .
     .
     .
     /* ne pas oublier de le fermer ! */

     XCloseDisplay(dpy);


display_name peut-être soit une chaîne spécifiant le display, par exemple "dico.unice.fr:0.0", ou bien NULL (0). Dans ce dernier cas, le nom du display sera celui contenu dans la variable d'environnement $DISPLAY.

L'argument dpy sera utilisé dans toutes les requêtes X (en premier argument). Par exemple :

     XDrawPoint(dpy, drawable, gc, x, y);

Il existe une série de macros concernant le display :

Plusieurs macros sont disponibles pour obtenir des informations sur le display, comme le nombre de couleurs, sa taille, l'ID de la Root Window, etc...

Exemples de macros :

     unsigned long BlackPixel(display, screen_number)
     unsigned long WhitePixel(display, screen_number)
     GC DefaultGC(display, screen_number)
     Window RootWindow(display, screen_number)
     int DisplayHeight(display, screen_number)
     int DisplayWidth(display, screen_number)
     .
     .
     .

michel.buffa@essi.fr