2012-11-09 9 views
5

मैं अपने स्वयं के संपादन के लिए एक्ससीबी के साथ एक पूर्णस्क्रीन एप्लिकेशन लिखने की कोशिश कर रहा हूं और मुझे उपर्युक्त में परेशानी हो रही है। मुझे कोड के कुछ टुकड़े मिल गए हैं जो Xlib का उपयोग करके ऐसा करते हैं, लेकिन xcb के साथ कोई भी नहीं। मैं xcb_ewmh_connection_t संरचना मिल गया है और मैं अंतरिम रूप से इस तरह यह उपयोग कर रहा हूँ:मैं xcb के साथ _NET_WM_STATE_FULLSCREEN संकेत कैसे प्रदान करूं?

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); 

और फिर EWMH._NET_WM_STATE साथ संरचना के भीतर परमाणुओं का उपयोग कर, आदि

इस छोटे पृष्ठभूमि को देखते हुए, मैं कैसे जा सकते हैं खिड़की प्रबंधक को संकेत देने के बारे में कि खिड़की पूर्णस्क्रीन होना चाहिए?

उत्तर

3

xcb_ewmh.h की जांच, यह मेरे लिए लगता है कि आप भी

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

कॉल करने के लिए एक बार जब आप यह कर लें, _NET_WM_STATE प्रलेखन कैसे इस विशेष संपत्ति का उपयोग करने के लिए मदद करनी चाहिए की जरूरत है।

विंडो प्रबंधक के लिए संवाद करने के लिए गुणों का उपयोग करने की इस तकनीक पर पृष्ठभूमि के लिए Client Properties पर ICCCM अनुभाग देखें।

ChangeProperty सामान्य रूप से गुणों को सेट करने के लिए अनुरोध देखें। यह xcb_change_property सामान्य protocol stub rules द्वारा फ़ंक्शन पर नक्शा करता है।

मुझे उम्मीद है कि आपको जाने के लिए पर्याप्त संदर्भ हैं!

+1

आह, धन्यवाद! मुझे यकीन है कि वास्तव में परमाणु प्राप्त करने के बाद उनसे पूछने में मदद मिलेगी। : पी एक एक्ससीबी नोब होने के लिए खेद है, लेकिन मुझे संपत्ति को बदलने में कोई समस्या नहीं है। क्या मैं इस फ़ंक्शन का गलत इस्तेमाल कर रहा हूं? 'xcb_change_property (कनेक्शन, XCB_PROP_MODE_REPLACE, विंडोआईडी, EWMH._NET_WM_STATE, XCB_ATOM, 32, 1, और (EWMH._NET_WM_STATE_FULLSCREEN)); – cdbfoster

+3

मैंने इसे समझ लिया! उसके लिए माफ़ करना। XCB_ATOM के बजाय XCB_ATOM_ATOM का उपयोग करके यह अपेक्षा के अनुसार काम करता है। – cdbfoster

+0

आपकी टिप्पणियों के लिए धन्यवाद @ सीडीबीफोस्टर मुझे एक ही समस्या थी! – Noitidart

संबंधित मुद्दे