Myriad Blog 1.3.0 Tuesday, Sep 2nd, 2014 at 09:44am 

Friday, May 27th, 2011 at 05:02pm
Acam III, version Ubuntu, étape 31

 
Nous nous heurtons depuis plusieurs jours à des difficultés dans la gestion des fenêtres sous Ubuntu/GTK.
Contrairement aux autres systèmes sur lesquels nous avons pu travailler jusqu'ici, la gestion de l'interfaces, et donc des fenêtres, est organisée en couches logicielles séparées, empilées les unes sur les autres, et ne communiquant entre elles que par un nombre réduit d'entrées (GTK utilise le système de fenêtres de X11 sur Ubuntu, mais existe aussi sur Windows ou Macintosh, utilisant alors ces systèmes en couche basse)  
En pratique, une application sur Linux doit utiliser les entrées de plus haut niveau (GTK).
En effet, utiliser directement X11 est difficilement envisageable, car cela court-circuite le système de plus haut niveau, qui gère par exemple la liste des fenêtres ouvertes sur le bureau, leur nom dans la barre de tâches, l'empilage des fenêtres des diverses applications ouvertes en même temps, le click sur une des fenêtres qui remet l'application au premier plan, etc.
 
Malheureusement, ce système de couches réduit au plus petit dénominateur commun les possibilités offertes à l'application, afin que GTK reste compatible avec les divers OS sur lesquels il est censé tourner.  
Ce qui fait que des fonctions de relativement bas niveau sont complètement absentes, et des mécanismes de haut niveau ne sont pas débrayables.
 
Par exemple, ACAM a besoin de gérer lui-même l'ordre d'empilage des fenêtres (Z-Order). Sous Acam, l'utilisateur peut très bien cliquer sur une fenêtre sans que celle-ci passe nécessairement au premier plan (devant, il peut y avoir des palettes d'outils, d'autres fenêtres diverses, les menus contextuels ou les bulles d'aide).
 
GTK s'obstine à vouloir trop en faire, et à essayer de gérer cela tout seul, passant les fenêtres cliquées à l'avant-plan sans qu'il soit apparemment possible de l'en empêcher, réorganisant l'ordre des fenêtres de l'application selon sa logique propre, etc.
 
On bataille donc pour reproduire les fonctions de base dont on dispose sur Mac et PC, mais pour l'instant, la bataille n'est pas gagnée.
by Olivier Guillion


Most recent first
Oldest first

Top of page
Last update:  (c) Myriad 2013