2010-10-28 9 views
1

J'essaye d'avoir une fenêtre pour couvrir tout l'écran. Son positionnement et ses dimensions sont bien mais il est couvert par le panneau Gnome. Pour compliquer les choses, j'ai deux moniteurs et cette application doit prendre en charge les personnes ayant plusieurs écrans.Astuces de fenêtre GTK

WINDOW_TYPE_HINT_SPLASHSCREEN est un bon début. Il couvre les deux écrans mais pas le panneau. Il est toujours là, juste derrière le panneau.

WINDOW_TYPE_HINT_DOCK semblait idéal mais j'ai besoin de cette fenêtre pour se concentrer sur l'écoute d'un événement clavier. _DOCK semble ignorer délibérément les événements de clavier (ce qui a un sens). Puis-je le forcer à prendre le focus clavier?

Y a-t-il un moyen de forcer une fenêtre à indice à couvrir le panneau?

+0

Si la fenêtre n'est pas un dock pour les icônes ou un écran de démarrage alors pourquoi l'allusion de cette façon? La fonction * fulscreen() * fonctionne correctement sur une fenêtre non-indiquée. Y a-t-il une raison particulière pour laquelle les fenêtres doivent être suggérées? J'ai une application qui passe en plein écran lorsque 'f' est pressé. C'est la fenêtre principale que fullscreen() utilise et elle n'a aucun indice spécial. La taille et la position sont données avec window_move, set_size_request(). – frayser

Répondre

0

Il y a window.fullscreen() que vous pouvez appeler sur une fenêtre normale "non-hinted". Je suppose que cela permet au gestionnaire de fenêtre de décider si la fenêtre doit couvrir le panneau ou non.

+1

Cela fonctionne dans une configuration à écran unique, mais n'est pas fiable dans twinview/xinerama (mon problème cible) – Oli

+0

@Oli vous avez raison, il ne fonctionne que sur un seul écran, j'ai défini ma fenêtre à la largeur et la hauteur de tous les moniteurs, mais Dès que je vais en plein écran, il fait couvrir un seul moniteur. Mon problème est que ma fenêtre n'est même pas à 0,0 il n'est pas couvert, je travaille avec Noi ici http://stackoverflow.com/questions/31366706/gtk-window-cover-entire-screen avez-vous trouvé une solution ? – yatg

0

Si vous utilisez WINDOW_TYPE_HINT_MENU, vous pouvez donner le focus à la fenêtre en appelant la fonction gtk_window_present(). Cependant, je ne sais pas si vous serez en mesure de couvrir le panneau.

Autre indice: le panneau modifie probablement sa propriété _NET_WM_STRUT afin que les autres fenêtres ne puissent pas le masquer. Peut-être que vous devrez jouer avec cette propriété (ou un autre) dans votre fenêtre.

+0

Salut Antoyo Je travaille avec Noi ici cette solution va nous aider ici: http://stackoverflow.com/questions/31366706/gtk-window-cover-entire-screen – yatg