2012-11-09 3 views
5

Ich versuche, eine Vollbild-Anwendung mit Xcb für meine eigene Erbauung zu schreiben, und ich habe Probleme mit dem oben genannten. Ich habe ein paar Code-Stücke gefunden, die das mit Xlib machen, aber keine mit xcb. Ich habe die xcb_ewmh_connection_t Struktur gefunden und ich bin mit ihm versuchsweise wie folgt aus:Wie stelle ich den _NET_WM_STATE_FULLSCREEN-Hinweis mit xcb bereit?

xcb_connection_t *Connection = xcb_connect(NULL, NULL); 
xcb_ewmh_connection_t EWMH; 
xcb_intern_atom_cookie_t *EWMHCookie = xcb_ewmh_init_atoms(Connection, &EWMH); 

und dann mit Hilfe der Atom innerhalb der Struktur mit EWMH._NET_WM_STATE usw.

diesem kleinen Hintergrund gegeben, wie kann ich gehen über den Fenstermanager, dass das Fenster Vollbild sein sollte?

Antwort

3

Prüfungs xcb_ewmh.h, sieht es für mich wie Sie auch

if(!xcb_ewmh_init_atoms_replies(&EWMH, EWMHCookie, NULL)) 
    /* handle errors */; 

aufrufen müssen Sobald Sie getan haben, dass die _NET_WM_STATE Dokumentation helfen sollte, wie diese besondere Eigenschaft zu verwenden.

Im Abschnitt ICCCM unter Client Properties finden Sie Hintergrundinformationen zu dieser Technik der Verwendung von Eigenschaften für die Kommunikation mit dem Fenstermanager.

Siehe die ChangeProperty Anfrage für das Festlegen von Eigenschaften im Allgemeinen. Das entspricht der xcb_change_property Funktion durch die üblichen protocol stub rules.

Ich hoffe, das ist genug Referenzen, um Sie in Fahrt zu bringen!

+1

Ah, danke! Ich bin mir sicher, dass die Atome, nachdem sie nach ihnen gefragt wurden, helfen werden. : P Tut mir leid, ein xcb noob zu sein, aber ich habe ein kleines Problem, wenn ich die Eigenschaft selbst ändere. Benutze ich diese Funktion falsch? 'xcb_change_property (Verbindung, XCB_PROP_MODE_REPLACE, WindowID, EWMH._NET_WM_STATE, XCB_ATOM, 32, 1, & (EWMH._NET_WM_STATE_FULLSCREEN));' – cdbfoster

+3

Ich habe es herausgefunden! Das tut mir leid. Wenn XCB_ATOM_ATOM für den Typ anstelle von XCB_ATOM verwendet wird, funktioniert es wie erwartet. – cdbfoster

+0

Danke für Ihre Kommentare @cdbfoster Ich hatte das gleiche Problem! – Noitidart

Verwandte Themen