2017-06-15 4 views
0

Je n'ai aucune idée de ce que la fonction que je veux est appelée, donc je vais juste le décrire. Sous linux gnome, il y a une barre d'outils système qui s'exécute (par défaut) en haut de l'écran. Maintenant, si vous essayez de déplacer une fenêtre de programme sur cette barre d'outils, elle s'arrête juste sous la barre d'outils. Vous pouvez déplacer le pointeur de la souris sur la barre d'outils, mais la fenêtre du programme ne suivra pas plus haut. C'est comme "toujours sur le dessus", mais ajoute la fonctionnalité que les fenêtres ne peuvent pas être placées en dessous.Comment empêcher le déplacement de fenêtres de programme sous une barre d'outils de bureau?

Ma question est comment est-ce fait? Est-ce le gestionnaire de fenêtres qui fait cela? Et cela peut-il être fait en utilisant Java ou dois-je utiliser xlib?

Merci.

+1

Copie possible https://stackoverflow.com/questions/40257320/how-to-define-window-stacking-order –

Répondre

0

J'ai trouvé la solution. La propriété du gestionnaire de fenêtres _NET_WM_STRUT_PARTIAL réserve de l'espace pour les barres d'outils. Cet espace ne peut pas être utilisé par les fenêtres normales et donc en réglant cette propriété, d'autres fenêtres ne peuvent pas être déplacées au-dessus ou en dessous de la barre d'outils (Tout comme les barres d'outils de gnome 2 en redhat).