Développer sous X via Xlib
Vous allez devoir vous armer de patience avant de pouvoir afficher quelque chose dans une fenêtre, car pour parvenir à cela, il faut mettre en place de nombreuses choses avant !
- Includes, librairies et compilation
. Les includes
. La compilation et les librairies
- Généralité sur la programmation sous X
. Structure d'un programme
. Remarque importante sur les fonctions envoyées au serveur
. Les fenêtres
- Se connecter/déconnecter au serveur X
. Connexion (XOpenDisplay())
. Déconnexion(XCloseDisplay())
. Exemple
. Récupération d'informations sur le serveur
- Création d'une fenêtre simple
. Création d'une fenêtre simplifiée (XCreateSimpleWindow(), DefaultRootWindow (), RootWindow ())
. Affichage de fenêtre (XMapWindow ())
. Détruire une fenêtre (XUnmapWindow())
. Introduction
. Intercepter les erreurs fatales (int (*XSetIOErrorHandler(handler))())
. Intercepter les erreurs non fatales (int (*XSetErrorHandler(handler))(), XGetErrorText(), XGetErrorDatabaseText)
. Redéfinir les fonctions par défaut de gestion des erreurs fatales ou non (XSetIOErrorHandler, XSetErrorHandler)
. Aperçu de la gestion des évènements (XPending(), XNextEvent ())
. Exemple de gestion des erreurs
. Interpréter les informations des différents types d'événements
. Sélection/masque et propagation des événements
int XSelectInput(Display *display, Window w, long event_mask)
XChangeWindowAttributes (Display *display, Window w, CWEventMask,
XSetWindowAttributes *xattrib);
. Boucle d'attente des événements
int XNextEvent(Display *display, XEvent *Evenement)
int XPending(display)
. Exemple de lecture sans attente
. Lire les positions de la souris et état de ses boutons
. Modifier le curseur de la souris
- Gestion du clavier
- Communiquer avec le window manager
- Création d'une fenêtre complexe
- Annexes
Autres
Cf. le compilateur GCC, la commande make, les erreurs liées à l'absence de librairie, ...
Sites intéressants:
Catherine Recanati, maître de conférences en Informatique à l'Université Paris 13, qui a écrit un livre sur X Window accessible par internet
Wiki Xlib: En anglais dans le texte...