X


La librairie X, plus connue sous Xlib, est à la base des interfaces. C’est le niveau le plus bas. Xlib rend transparent le réseau permettant l’affichage sur des machines distantes et différentes.
D’autres “toolkits” de plus haut niveau ont été écrits. Xt est la seule à faire désormais partie du standart X. Tous ces toolkits s’appuient sur Xlib.
Xlib est une interface de programmation en langage “C” pour la version 11 de X Window System. Cette version est appelée aussi X11.

X Window System repose sur quelques notions; les voici:

* Un “display” comprend un clavier, une souris et un ou plusieurs écrans. L’accès aux écrans peut se faire une fois la souris en dehors d’un écran.
* Mode Client/Serveur. Sur la machine où l’affichage se produit, un client reçoit des messages qui donnent la connaissance de l’affichage et envoie les évènements clavier et souris. Les processus peuvent être sue des machines différentes.
* La gestion des fenêtres est réalisée par un programme à part: le window manager. Le window manager est un programme comme un autre, écrit en Xlib, à part qu’il a le pouvoir de contrôler l’emplacement des fenêtres et leur superposition. Il agit avec un ensemble de règles: la “window layout policy”. Le “client” donne donc juste des indications de position...et l’application doit pouvoir réagir si ses souhaits ne sont

pas respectés (taille,...). Cependant, X a été conçu de façon à être le plus général possible. Aussi, les développeurs X ne se sont pas attachés à créer des window manager puissants. Ce sont alors des constructeurs, qui ont pris le relais avec OPEN LOOK (olwn) et OSF Motif (mwm).
* X permet la programmation par évènements.
* X peut être étendu. Le code contient des mécanismes permettant d’inclure des extensions. Il y a les extensions standart comme les fenêtres 3D (PEX) avec 2 API: PHIGS et PEXlib.


ARCHITECTURE
Un “display server” est un programme qui tourne sur chaque système qui supporte un affichage graphique, un clavier, une souris. Les applications communiquent avec le serveur par l’intermédiaire des fonctions Xlib. Ces fonctions vont permettre de se connecter à un display server, de créer des fenêtres, répondre aux évènements, ...

X bufférise ses échanges réseaux. Lorsque l’on accède à une fonction Xlib, elle n’accède pas au réseau: si elle en a besoin, elle place les informations à tranmettre dans une file d’attente. Cela permet d’améliorer le flux réseau avec des paquets plus longs et plus remplis.
Les fenêtres, fontes fe caractères, ... sont des ressources et sont marquées par un numéro unique (ID). Les fonctions Xlib transmettent leurs informations au réseau en précisant l’ID de la ressource concernée. Si le serveur ne connaît pas certains champs de la ressource, il va les réclamer au client...
Pour permettre à des clients de communiquer entre eux, des “properties” ou des “atomes” ont été construits. Les propriétés ont une chaîne de caractères (WM_COLORMAP_WINDOWS) et un identifieur numérique: l’atome. En cas de transmission réseau, seul l’atome sera envoyé.
Certains atomes sont prédéfinis. Leur nom symbolique commence par “XA”.
Ces communications sont principalement utilisées entre l’application et le window manager. L’application place les propriétés standard sur la fenêtre racine: taille,... Puis le window manager y écrit les propriétés qu’il a choisies.

Pour nous contacter : siteclic.aro.microclic.com en remplaçant '.aro.' par @
3 requêtes