J'ai une application Python/Linux qui affiche des informations dont j'ai besoin dans une fenêtre GTK. Pour les besoins de cette discussion, il devrait se comporter exactement comme un dock - existe sur tous les bureaux virtuels, et les fenêtres maximisées ne se chevauchent pas.Empêcher le chevauchement des fenêtres dans GTK
Le premier point est assez facile, mais j'ai passé des jours à dénigrer mon écran en essayant d'obtenir le second point, évitant ainsi le chevauchement. Mon application ne doit pas être couverte si une autre fenêtre est agrandie. Régler "toujours sur le dessus" ne suffit pas, car les autres fenêtres restent juste derrière ma barre d'info au lieu de s'arrêter à son bord. En bref: avec une fenêtre de style dock/panneau, comment pouvez-vous empêcher d'autres fenêtres de maximiser ou de réduire la fenêtre?
Mise à jour: Problème résolu grâce à vsemenov
C'est une grande aide, et clarifie une partie du code que je trouve dans PyPanel en essayant de résoudre ce problème. Je vois les documents montrent que property_change (propriété, type, format, mode, données) pouvez-vous clarifier les données envoyées? J'ai la taille, pouvez-vous me parler des zéros? – Josh
@Josh: mis à jour mon post avec réponse à votre question. – vls
Hmm merci pour la réponse. J'utilise \t écran = gtk.gdk.screen_get_default() \t root = screen.get_root_window() \t root.property_change ("_ NET_WM_STRUT", "CARDINAL", 32, gtk.gdk.PROP_MODE_REPLACE, [0, 0, 0, 64]) sans chance. C'est la fenêtre racine à laquelle vous faites référence? Ou la fenêtre de mon application? Je n'ai pas de chance de toute façon. – Josh