Introduction à Xlib

 

X Window permet de faire dialoguer une application vers un serveur qui pourra se trouver n'importe où. Ce dialogue passe donc par le réseau. Ce serveur va gérer tout ce qui est opérations graphiques de bases, la lecture du clavier, de la souris. Cependant, le réseau pourra être virtuel si le serveur et le client se trouve sur la même machine (ce qui est généralement le cas sous Linux chez vous). Le protocole de communication utilisé est le X protocole. Pour le programmeur, tout cela pourrait vite devenir compliqué !

La librairie Xlib permet d'utiliser ce X protocole de manière simple pour le programmeur. Elle va ainsi donner des fonctions d'échange d'informations entre client-serveur rendant transparente la partie communication par réseau. mais il y a aussi bien d'autres fonctions simplifiant considérablement la programmation.

Le développement sous X Window peut se faire (conseillé) en utilisant des toolkits comme Motif ou X (XT) qui vont encore simplifier la programmation. En effet, la Xlib ne propose aucun widget comme les boutons, les menus, ...Mais même en développant avec l'aide d'un toolkit, il peut être utile "parfois" de passer par des fonctions de la librairie X11.

Les applications développées sous X Window utilisent le principe du pilotage par évènements. L'application sera ainsi influencée par les actions de l'utilisateur par des évènements de manière asynchrone. Mais l'ordre d'arrivée des évènements sera bien respecté. L'application passera des requètes au serveur pour lui demander de faire des tâches. A des fins d'optimisations, ces requètes ne sont jamais envoyées immédiatement au serveur, mais sont bufferisées. Selon certaines conditions, ces requètes seront ensuite envoyées au serveur, évitant ainsi d'avoir un traffic réseaux chargés par des trames qui ne contiennent pas grand chose. Là aussi, le traitement de ces requètes sera bien effectué dans l'ordre d'envoie des requètes au serveur.