• [^] # Re: Applications, toolkits, gestionnaires de fenêtres

    Posté par . En réponse à la dépêche Le combat X contre Wayland : les faits vus par Eric Griffith. Évalué à 10. Dernière modification le 15 juin 2013 à 15:54.

    Si j'ai bien compris, un toolkit permet de dialoguer avec le serveur d'affichage pour afficher ce que l'application demande. Par contre, d'après l'article de Wikipédia, le gestionnaire se place entre les deux lors de la création de fenêtre pour dessiner les bordures : est-ce que ça change quelque chose avec Wayland, car j'ai entendu dire que c'est au client de se dessiner son cadre ?

    C'est un peu plus compliqué en fait, car X11, contrairement à Wayland, sait dessiner. N'importe quel client X peut donc créer une fenêtre et dessiner dedans avec les "primitives" de X (rectangle, arc, texte, etc. )

    C'est également X qui à la base dessine la bordure de fenêtre (qui est un "Window Attribute"). Cependant, tout ce qu'on obtient par ce moyen c'est une bordure de couleur unique de n pixels tout autour de celle-ci. C'est pour cela que la plupart des WM "reparentent" les fenêtres de chaque application : ils créent une fenêtre dont la fenêtre de l'application devient l'enfant. La première pouvant bien entendu être de dimension différente de la seconde, cela permet de dessiner à l'intérieur les barres de titre, boutons, etc.

    Les toolkits, quant à eux, sont nés du fait que dessiner avec X est très verbeux. Pour avoir des "widgets" un peu élaborés (avec bouton, listes déroulantes, etc) il a donc fallu créer un couche supplémentaire. À cela est venu s'ajouter le fait que dessiner avec X n'est pas très efficace, c'est pour cela que les toolkits modernes prennent généralement cette fonctionnalité en main, créant des images que X se contente d'afficher dans les fenêtres (enfin, c'est ce que j'ai cru comprendre, mais ça expliquerait le parti-pris de Wayland à ce sujet).