Wayland में क्लिक करके विंडो की पहचान कैसे करें


15

मैं यह जानना चाहता हूं कि वायलैंड में एक विंडो किस प्रक्रिया की है। क्या xpropएक्स के लिए ऐसा कुछ है जो उपयोगकर्ता को क्लिक करके खिड़की चुनने देता है और पीआईडी ​​सहित सभी विंडो विवरणों को आउटपुट करता है?


मुझे संदेह है कि xprop जैसी कोई कमांड है या होगी। वायलैंड का एक प्रमुख लक्ष्य अन्य प्रक्रियाओं की खिड़कियों तक पहुंच को प्रतिबंधित करना है।
18'18

@mviereck निश्चित रूप से सुपरसुसर खिड़की की जानकारी देख सकता है, यहां तक ​​कि वेनलैंड में भी?
नथानिएल एम। बीवर

@bariumbitmap: केवल अगर कंपोजिटर इन मेमोरी को अपनी मेमोरी के बाहर उपलब्ध कराता है, उदाहरण के लिए किसी फ़ाइल में या API के माध्यम से। मुझे इस तरह के विनिर्देश के बारे में पता नहीं है (लेकिन यह मौजूद हो सकता है, हालांकि)। बेशक, आप वेस्टन की तरह एक कंपोज़ीटर को फोर्क कर सकते हैं और खुद को लागू कर सकते हैं, अगर आपको सभी कंपोज़िटर्स के लिए एक सामान्य समाधान की आवश्यकता नहीं है।
15

सिर्फ क्यों नहीं xprop? यह XWayland के माध्यम से एक खिड़की पर एक भयानक बहुत से पता चलता है, सहित _NET_WM_PID(CARDINAL), जो कि मूल प्रक्रिया PID है।
istepaniuk

जवाबों:


1

अच्छी खबर है, वहाँ कुछ इस तरह से सूक्ति शैल में बनाया गया है, और xpropXorg और Wayland के साथ काम करता है । अंततः यदि आप केडीई, i3, या कुछ और का उपयोग कर रहे हैं तो यह अन्य टूलिंग के दायरे में आ सकता है।

शुरू करने के लिए, कीबोर्ड पर "ALT + F2" कुंजी टाइप करें जो इस तरह से एक मेनू लाएगा:

ऊंचाई

उसके बाद ऊपर आता है, कमांड जारी करें lg("कांच की तलाश में")।

इसके बाद लुकिंग ग्लास विंडो को लाया जाएगा, जिसमें से हम विंडो की जानकारी निकाल सकते हैं। लुकिंग ग्लास के ऊपरी दाएं कोने से "विंडो" चुनें:

खिड़की अनुभाग

वहां से, आपको विंडोज़ की एक सूची दिखाई देगी, जिसमें से आप उस विंडो के नाम पर क्लिक कर सकते हैं जिसे आप पहचानना चाहते हैं।

सूची

इस मामले में, मैंने उदाहरण के लिए gedit को चुना:

एडिट

उस आउटपुट की शीर्ष पंक्ति में आप देख सकते हैं:

Inspecting object: object instance proxy GType: MetaWindowX11 ...`

"GType" MetaWindowX11 या MetaWindowWayland में से एक होगा।

यह जानकारी https://fedoraproject.org/wiki/How_to_debug_Wayland_properms के अनुसार आती है

मैंने


3
तो क्या यह सूचीबद्ध विंडो को चलाने वाली प्रक्रिया के पीआईडी ​​का पता लगाने की अनुमति देता है?
czerny

0

प्रोटोकॉल एक्सटेंशन का एक प्रारूप हैxdg-foreign , जो wl_surfaceअन्य वेनल क्लाइंट द्वारा बनाए गए, के हैंडल प्राप्त करने की अनुमति देता है। संभाल के बाद, आप इसे अपने ग्राहक की सतहों से प्राप्त कर सकते हैं। हालाँकि, इस प्रोटोकॉल की सीमाएँ अभी भी हैं:

  • जाहिर है, यह काम नहीं करेगा अगर ग्राहकों में लागू नहीं किया गया।
  • यह उन ग्राहकों के लिए लक्षित है जो एक-दूसरे को जानते हैं, इसलिए यह इसे ट्रिगर करने का एक तरीका प्रदान नहीं करता है: आपका क्लाइंट किसी तरह से विदेशी क्लाइंट के साथ संचार करता है, एक्सटेंशन द्वारा कवर नहीं किया जाता है। फिर विदेशी क्लाइंट इस एक्सटेंशन के माध्यम से आपके क्लाइंट के लिए एक हैंडल प्रकाशित करता है।
  • अगर इसकी तुलना की जाए तो यह बहुत अधिक नियंत्रण हासिल करता है xprop। वास्तव में, आप विदेशी सतहों पर भी आकर्षित कर सकते हैं!

तो, यह किसी भी क्लाइंट द्वारा किसी भी क्लाइंट से सतह पैरामीटर प्राप्त करने का एक सामान्य तरीका बनने की संभावना नहीं है। लेकिन एक उम्मीद न खोएं: टेक इतिहास में बहुत सारे उदाहरण हैं जब एक तकनीक, जिसे शुरू में किसी उद्देश्य के लिए डिज़ाइन किया गया था, एंड्रॉइड में कार सिगरेट लाइटर या एक्सेसिबिलिटी एपीआई जैसे अन्य उद्देश्यों के लिए व्यापक रूप से उपयोग किया जाता है। इसके अलावा, भविष्य में, एक प्रोटोकॉल एक्सटेंशन दिखाई दे सकता है जो आपके कार्य के लिए अधिक अनुकूल है, क्योंकि निश्चित रूप से इसके लिए एक आवश्यकता है (उदाहरण के लिए, टाइम ट्रैकर्स के लिए)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.