XCB est un projet visant à créer une bibliothèque d'accès X Window plus bas niveau et surtout asynchrone pour faire alternative à la vénérable mais gourmande en performances XLib.
Un courriel de Jamey Sharp sur la liste XCB nous apprend que la bibliothèque a fait de gros progrès, et notamment le pont vers XLib qui est très proche de fonctionner parfaitement.
De plus l'API a été documentée (bien que certaines fonctions de la documentation ne soient présentes que dans le CVS).
Un courriel de Jamey Sharp sur la liste XCB nous apprend que la bibliothèque a fait de gros progrès, et notamment le pont vers XLib qui est très proche de fonctionner parfaitement.
De plus l'API a été documentée (bien que certaines fonctions de la documentation ne soient présentes que dans le CVS).
Page principale de XCB sur freedesktop.org (2170 hits)
Note de Jamey Sharp sur XCB pour les développeurs (531 hits)
La documentation de l'API (437 hits)
La dépêche sur les souhait de Rasterman concernant XCB (1347 hits)
La liste de discussion XCB (338 hits)
Le courriel d'avancement (458 hits)
> Lire la dépêche (76 commentaires, moyenne: 3,7).
Vous avez demandé le commentaire #459551.




XCB+E17
Le lien est peut être passé, mais bon :
http://sourceforge.net/mailarchive/forum.php?thread_id=1945128&(...)
C'est une discussion il y a un peu plus d'an sur l'intégration de XCB dans E17. Il y a plein de réponses aux questions qu'on peut se poser.
[+] [^]Re: XCB+E17
je comprends vraiment rien, maintenant on compare une librairie X avec un gestionnaire de fenetres/bureau.
en gros la lib, ils la mettent ou ils veulent, dans Xorg si on veut, dans le gestionnaire aussi ca passe !
ca confusionne pas mal les choses !
QCM, la lib :
1) je la mets dans KDE, et toc !
2) je la mets dans X.org
3) je vire X.org et je les remplace, prout !
[^]Re: XCB+E17
La question tourne essentiellement de savoir si avoir E17 - qui est essentiellement un WM (window manager) fonctionnant directement sur XCB ne va pas poser problème avec les applications qui utilisent elles la Xlib. La question est légitime: est-ce que ça va pas tout casser nos belles applications sous X ?!
Rasterman en profite pour expliquer quelle est la place d'un WM sous X mis en rapport avec les applications qu'il "manage". En expliquant q'un WM ne se pose pas entre le serveur X et les applications, mais que le serveur X est central et que le WM cause avec X tout comme le font les applications.
Le problème ne se pose donc pas. Et ça se confirme si on y regarde d'un peu plus près. Car XCB - tout comme la Xlib - cause directement avec le protocole X11, donc directement avec le serveur XFree86. Au final XCB et Xlib font la même chose, mais de façon différente. XCB semblant d'ailleurs avoir une bien meilleure architecture générale que la Xlib. Et ça ne s'arrête pas qu'au mode asynchrone. Allez donc voir la page XCB sur freedesktop.org
Résultat : il n'y a aucune raison pour qu'une applications utilisant la Xlib ait des problèmes à cause que le WM lui il utilise XCB. C'est là toute la base de la discussion sur la ML de e. Moi en tout cas ça m'a bien éclairé sur ce qu'est vraiment XCB. À noter que Rasterman est semble vraiment entousiasmé par cette nouvelle lib ^^
Vala. L'explication est suffisamment claire ?
Ha! Y'a aussi une ébauche de discussion sur l'intérêt réel de XCB, notamment mis en rapport avec Xorg (ou xouvert). Pas vraiment de réponse donné cependant. Mais à ce que j'ai cru comprendre XCB est bénéfique pour tout serveur X, car cette lib vient en remplacement ou se pose en concurrence de la Xlib. Je pense donc que XCB peut parfaitement être intégré à un autre serveur X. Surtout lorsque ceux-ci ont la même base : XFree86.
Au final je pense que XCB devrait être bénéfique aussi à Xorg et xouvert. Miam d'avance ^^
[^]Re: XCB+E17
oui, tres interessant, merci ! j'avais commence a lire la discussion mais mon etat de fatigue m'empeche d'etre assez lucide pour capter de l'anglais aujourd'hui...........
te ploussoierait tres volontiers, mais c tres obscur le fonctionnement de linuxfr.....
[^]Du role des WM
Rasterman en profite pour expliquer quelle est la place d'un WM sous X mis en rapport avec les applications qu'il "manage". En expliquant q'un WM ne se pose pas entre le serveur X et les applications, mais que le serveur X est central et que le WM cause avec X tout comme le font les applications.
Justement parlons du role des WM. C'est pas tres clair.
A quoi sert le WM?
J'ai bien compris que c'etait un client X comme les autres, a ceci pres qu'il peut intercepter les evenements et les demandes de redimensionnement de fenetres, etc... sans se situer entre l'appli et le serveur X.
Jusque la je crois que c'est ca. Mais alors quel est son role?
J'ai compris qu'il raportait ces demandes a l'utilisateur? Comment? Pourquoi? Mystere.
J'ai cru vaguement comprendre qu'il avait le "pouvoir" de decider de l'affichage d'une fenetre ou non (surement via une extension du protocole X). C ca? Est-ce que c'est comme ca qu'il parvient a gerer plusieurs fenetres, a les placer, a les redimensionner, etc... ?
Merci de repondre a ces quelques interrogations.
[^]Re: Du role des WM
Justement parlons du role des WM. C'est pas tres clair.
A quoi sert le WM?
A mettre de l'ordre sur l'écran. Car d'un point de vue purement technique, on peut se passer de gestionnaire de fenêtres (c'est juste un peu inutilisable à partir de 2 fenêtres).
Fait l'expérience. Lance un nouveau serveur X (qui sera le display :1, car je suppose que tu utilise déjà le display :0), et l'option "-ac" pour qu'il n'y ait plus de restriction d'accès :
[jllc@Versa jllc]$ X :1 -ac
Tu basculeras automatiquement dessus. Pour revenir à ton environnement de départ, utilise les touches Ctrl+Alt+F7, et Ctrl+Alt+F8 pour retourner au deuxième display.
Lance quelques applications (légères pour le test) avec l'option "-display :1" pour qu'elles s'affichent sur le nouvel affichage sans gestionnaire de fenêtres :
[jllc@Versa jllc]$ nedit -display :1
(Faudrait peut être précisé des coordonnées différentes pour qu'elles ne se superposent pas : -geometry WIDTHxHEIGHT+XOFF+YOFF )
Tes applications seront là, dans leurs petits rectangles, mais alors, plus de déco, plus aucun moyen de les déplacer, de les redimensionner, de faire passer l'une devant l'autre.
Pour le "comment ça marche", je ne sais pas du tout comment inter-agissent X, le WM, et les applications.
[^]Re: Du role des WM
OK Merci!!
En gros, le WM cree une sorte de grosse fenetre (que l'on pourrait appeler le bureau) dans laquelle il deplace plusieurs autres fenetres (les autres applis) selon les actions de l'utilisateur.
C'est bien ca?
Il doit donc bien avoir un moyen de recuperer les actions de l'utilisateur!! Mais lequel?
[^]Re: Du role des WM
En gros, le WM cree une sorte de grosse fenetre (que l'on pourrait appeler le bureau) dans laquelle il deplace plusieurs autres fenetres (les autres applis) selon les actions de l'utilisateur.
A priori, ce que tu appelles la grosse fenêtre (la fenêtre racine je crois) existe indépendament du WM. La plupart des WM en contrôle la décoration (fond d'écran), parfois y ajoute des icônes, et en capte les évènements (pour créer un menu lors d'un clic sur le fond).
Pour ce qui est des détails technique du fonctionnement du tout, ça dépasse largement mes connaissances.
Il doit donc bien avoir un moyen de recuperer les actions de l'utilisateur!! Mais lequel?
Toutes les interfaces graphiques marchent par programmation évenementielle. C'est à dire que c'est basé sur des évenements du clavier et de la souris (appuie de touche, clic et mouvement ...) que chaque application attend, et traite par une action particulière. Et pour les recevoir, chaque application doit dire au système (serveur X ici) qu'elle veut les recevoir.
Si tu as fais le test en lançant XWindow sans WM, tu as du voir que chaque appli s'affchait dans son rectangle. Et bien chaque appli reçoit les évenements qui ont lieu à l'intérieur de ce rectangle, chez elle, puisque ça la concerne. Je suppose (car je n'ai pas étudié ça en particulier) que le WM demande à recevoir les évenment qui se produisent ailleurs que sur les applis. Entre autres sur les bords des applis où ils ont ajouté leur déco (barre de titre, ancre pour le redimensionnement ...).
[^]Re: Du role des WM
Ca commence a avoir du sens pour moi.
Merci bien!
[^]Re: XCB+E17
QCM, la lib :
1) je la mets dans KDE, et toc !
2) je la mets dans X.org
3) je vire X.org et je les remplace, prout !
Bizarre ce questionnaire!
1) le lien entre la lib et KDE est le suivant:
la lib est utilisee par Qt et Qt est utilisee par KDE. Donc par transitivité, la lib est utilisee par KDE
2) le lien entre la lib et X.org est flou pour moi.
Au fait, qui est le mainteneur de XLib?
2) remplacer la Xlib c'est le but de XCB
remplacer X.org, c'est pas le but de grand monde, a par ce qui veulent carrement supprimer le protocole X.
Je sais pas si je reponds a tes questions vu que j'ai pas tout compris a ce que tu dis!!