के माध्यम से क्लिक करें मेरे पास एक पारदर्शी, वॉटरमार्क है जो सी में एक्सएलआईबी के साथ लिखा गया है। वर्तमान में यदि आप एप्लिकेशन पर कहीं भी क्लिक करते हैं तो कुछ भी नहीं होता है, लेकिन मैं इसे नीचे जो कुछ भी नीचे माउस इनपुट पास करना चाहता हूं। जैसे यदि आप एप्लिकेशन के नीचे एक विंडो बंद करने के लिए एक्स पर क्लिक करते हैं तो उसे एप्लिकेशन बंद करना चाहिए, कुछ भी नहीं करना चाहिए।पारदर्शी xlib विंडोज़
उत्तर
मुझे लगता है कि XQueryTree
मदद की जा सकती है। इसे रूट विंडो पर निष्पादित करें और बाल खिड़कियों की सूची प्राप्त करें, अपने स्थान ढूंढें और उचित विंडो में माउस/कीबोर्ड का XEvent
पास करें।
नोट: आपको सक्रिय/निष्क्रिय विंडो, सक्रिय/निष्क्रिय क्षेत्र विंडो, अन्य विंडो के बच्चे, आकार और अन्य विंडो के x/y स्थान का ख्याल रखना होगा। कोड इस के लिए गन्दा होने जा रहा है।
यदि आप अपनी "वॉटरमार्क" विंडो को कोई इनपुट प्राप्त नहीं करना चाहते हैं, और इसके बजाय इनपुट नीचे विंडो की ओर जाता है, तो मैं implementation behind gtk_widget_input_shape_combine_region
देखता हूं। मैंने पहले अपने पूर्ववर्ती gtk_widget_input_shape_combine_mask
का उपयोग पॉपअप विंडो के सभी हिस्सों को किसी भी घटना को प्राप्त नहीं करने के लिए किया था।
मैं यहां अपने आराम क्षेत्र से बाहर हूं, लेकिन ऐसा लगता है कि XShapeCombineRectangles प्रासंगिक कॉल है (इस मामले के लिए do_shape_combine_region
shape = ShapeInput
से जुड़ा हुआ है)।
के लिए एक नया प्रश्न के रूप में पूछें मैंने इसे एक जीडीके विंडो के साथ करने की कोशिश की, लेकिन यह काम नहीं किया। –
जब मैंने इसे xlib विंडो के लिए आजमाया, तो यह काम करता है (अंतर्निहित विंडो को बंद करने के लिए आप "X" पर क्लिक कर सकते हैं भी आवश्यकता है)। –
आप छोटी सी खिड़की प्रबंधक जो XSelectInput का उपयोग कर indow डिफ़ॉल्ट रूट पर सभी घटनाओं सुनेगा को लागू करने की जरूरत है।
फिर fd = कनेक्शनNember (प्रदर्शन) पर मतदान करें।
जब भी आप ईवेंट प्राप्त करते हैं। जांचें कि यह माउस ईवेंट है, तो यह आपको एक्स, वाई देगा। आप विंडो स्टैक को घुमाने के द्वारा सही विंडो पा सकते हैं।
फिर अंतर्निहित विंडो में ईवेंट की रिपोर्ट करने के लिए XGrabPinter का उपयोग करें।
- 1. Xlib
- 2. Xlib और Firefox व्यवहार
- 3. xlib XImage को पीएनजी
- 4. कुछ अच्छे Xlib प्रोग्रामिंग मार्गदर्शिका कहां हैं?
- 5. कैसे Xlib के XNextEvent को अवरुद्ध
- 6. पारदर्शी
- 7. विंडोज़
- 8. पारदर्शी पृष्ठभूमि पर पारदर्शी फ़ॉन्ट
- 9. डीआईवी बॉक्स पारदर्शी, पाठ पारदर्शी नहीं
- 10. पारदर्शी अग्रभूमि
- 11. टूलबार पारदर्शी
- 12. पारदर्शी GPUImageView?
- 13. पारदर्शी जेबटन
- 14. QQuickWindow पारदर्शी
- 15. बिटमैप पारदर्शी
- 16. पारदर्शी यूआईपीओवर
- 17. पारदर्शी UINavigationBar
- 18. पारदर्शी UITabBar
- 19. पारदर्शी UITextView
- 20. पारदर्शी जेपीनेल
- 21. पारदर्शी स्क्रॉलबार
- 22. पारदर्शी पृष्ठभूमि
- 23. नियंत्रण पारदर्शी
- 24. पारदर्शी डेटाबेस
- 25. कोई भी अभी भी xlib का उपयोग कर प्रोग्राम
- 26. पाइप के साथ पाइथन Xlib कैसे स्थापित करें?
- 27. xlib के साथ स्क्रीनशॉट को सही तरीके से कैसे लें?
- 28. Xlib ऐप में VSYNC के लिए कैसे प्रतीक्षा करें?
- 29. पायथन 2.7/विंडोज़: पारदर्शी पृष्ठभूमि, टीटीके फ्रेम पृष्ठभूमि रंगों के साथ tkinter/ttk विजेट
- 30. विंडोज़ फॉर्मों में पारदर्शी नियंत्रण पर ग्राफिक्स को कैसे साफ़ करें
तो मैं विंडो आईडी के बाद XGetWindowAttributes प्राप्त करने के लिए XQueryTree का उपयोग करूंगा और ओवरलैप की जांच करूँगा, अगर ओवरलैप है तो मैं उस विंडो में माउस इवेंट भेजता हूं? मैं खिड़की पर माउस इवेंट कैसे भेजूं, या पास करूं? – Corey
मैं 100% निश्चित नहीं हूं लेकिन 'XSendEvent' उस के लिए काम करना चाहिए। – bikram990
इस पर भी एक नज़र डालें 'http://stackoverflow.com/questions/14656615/xlib-xsendevent-click-event-do-not-work-inside-of-some-windows-on-ubuntu-12-04 ? rq = 1 'और यह भी' http://www.semicomplete.com/blog/geekery/xsendevent-xdotool-and-ld_preload.html ' – bikram990