[XLib] Gestion des fenêtres filles sans XQueryTree

Gestion des fenêtres filles sans XQueryTree [XLib] - C - Programmation

Marsh Posté le 16-07-2013 à 11:58:59    

Bonjour,
 
Je cherche à réécrire certaines fonctions d'un window manager avec la XLib, notamment l'affichage & masquage des fenêtres (Map/Unmap), comme lorsqu'on passe d'un workspace à un autre (!= iconify).
Mon problème concerne la gestion des fenêtres filles, comme les pop-up par exemple. La plupart de mes applications ne gèrent pas leur fenêtres filles en conservant le lien de parenté dans l'arbre des fenêtres X11 (ex: Gedit avec sa fenêtre fille d'ouverture de fichier, ou java SwingSet).
Résultat : quand je Map ou Unmap la fenêtre gedit, son popup n'est pas modifié.
 
Quelqu'un a t'il une idée pour afficher/masquer les popup des fenêtres que je contrôle? (envoi d'un event particulier, moyen de récupérer la fenêtre parente du popup, ...)
 
Merci d'avance ;)


---------------
Mods: HAF922 | Shinobi XL White    GitHub     Admin de La Colère d'Aurile, serveur RP-Action Neverwinter Nights 2
Reply

Marsh Posté le 16-07-2013 à 11:58:59   

Reply

Marsh Posté le 19-07-2013 à 12:37:39    

Petite mise à jour:
XIconifyWindow permet de cacher la fenêtre ainsi que ses popups.
Le problème est que avec Metacity, j'observe un effet un peu moche de réduction de fenêtre, et je suppose qu'avec d'autres window managers, on pourra également voir les icones des fenêtres réduites (et je veux éviter ça a tout prix)
De plus, la réduction de la fenêtre bugue un peu, avec par exemple une fenêtre qui se réduit mais il reste une "trace" à l'écran (un rectangle gris de la taille de la fenêtre)et il faut réouvrir puis refermer la fenêtre pour le faire disparaître.


---------------
Mods: HAF922 | Shinobi XL White    GitHub     Admin de La Colère d'Aurile, serveur RP-Action Neverwinter Nights 2
Reply

Marsh Posté le 08-09-2013 à 19:47:48    

Salut,
 
Il faut sans doute que ton window manager interroge les Propriétés de toutes les fenêtres top-niveaux pour savoir lesquelles Unmapper
 
J'ai la liste des propriétés intéressantes sous les yeux dans un bouquin X11
 
notamment WM_TRANSIENT_FOR
je cite: L'identificateur de la fenetre top-niveau pour laquelle une autre fenêtre top-niveau temporaire (ou pop-up) est crée
 
ya aussi
 
WM_CLASS, WM_PROTOCOLS, WM_STATE, WM_COMMAND, yen a d'autres ...
 
A+  ;)
 
PS: d'un point de vue X11, les fenêtres pop-up ne sont pas filles de la fenêtre principale de l'application, elle sont au même niveau,
          elle sont "top-level" (fille, mais de la fenêtre racine Root)


Message édité par Caffrey's le 08-09-2013 à 19:55:46
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed