लिनक्स (एक्स) में सटीक विंडो जानकारी (आयाम आदि) कैसे प्राप्त करें?


22

मैं लिनक्स में सटीक विंडो जानकारी कैसे प्राप्त कर सकता हूं? मुझे पता है कि मैं खिड़की के आकार को पाने के लिए wmctrl का उपयोग कर सकता हूं, लेकिन खिड़की की सजावट के कारण खिड़की का वास्तविक आकार अलग-अलग हो सकता है। मुझे निम्नलिखित जानकारी और विधियों की आवश्यकता है:

* precise window dimensions
* precise available screen space (excluding panels like gnome-panel)
* the ability to set a window to be a certain size, including decorations

क्या सबसे अच्छा तरीका होगा यह करने का?

अग्रिम में धन्यवाद!


यदि आप अजगर पक्ष में अधिक रुचि रखते हैं, तो हम प्रोग्रामिंग, StackOverflow.com के बारे में हमारी बहन साइट पर माइग्रेट कर सकते हैं। बस हमें बताओ।
Gnoupi

@Gnoupi: धन्यवाद, लेकिन यह वास्तव में SO का क्रॉस-पोस्ट है, जैसा कि एक उपयोगकर्ता ने सुझाव दिया कि मुझे यहां बेहतर उत्तर मिल सकता है। मूल प्रश्न stackoverflow.com/questions/3233660/… पर है
मेल्ट

ठीक है मैं समझा। इस मामले में, मुझे लगता है कि आपके प्रश्न का अजगर भाग संपादित किया जा सकता है। एसयू पर जवाब सबसे अधिक संभावना है कि अन्य कमांड का उपयोग करेंगे, प्रोग्रामिंग नहीं। एसओ पर सवाल शायद यह पूछने पर ध्यान देना चाहिए कि इसे अजगर में कैसे किया जाए।
ग्नूपी

सजावट के साथ विंडो आयाम प्राप्त करें: unix.stackexchange.com/questions/14159/…
Ciro Santilli 中心::: 事件

जवाबों:


26

कुछ कमांड लाइन कार्यक्रम हैं जो मदद कर सकते हैं:

  • xwininfo: यह आपको सजावट को छोड़कर खिड़की के आकार और पूर्ण स्थिति (स्क्रीन पर) और रिश्तेदार (खिड़कियों के लिए क्षेत्र के लिए) प्राप्त करता है
  • xdpyinfo: यह आपके स्क्रीन-डिवाइस के बारे में कहीं अधिक जानकारी देता है, जितना आप कभी जानना चाहते हैं। लेकिन यह उत्पादन में कहीं है जैसे कुछ के screen: #0बाद dimension: 1024x768

क्या सजावट सहित जानकारी प्राप्त करने का कोई तरीका है ?
विक्टर

6

> सटीक विंडो आयाम

निम्न उदाहरण (कम से कम sh, bash और zsh में काम करेगा) शीर्षक में कहीं न कहीं "KWrite" के साथ सभी विंडो के लिए विंडो ज्यामिति के साथ और बिना फ्रेम के प्रिंट करेगा।

windows="$(wmiface findNormalWindows "KWrite" "" "" "" "" "")"
for window in $(echo $windows); do
{
  echo $window
  wmiface framePosition $window
  wmiface frameSize $window
  wmiface windowPosition $window
  wmiface windowSize $window
  echo
} done

> सटीक उपलब्ध स्क्रीन स्पेस (भूतल पैनल जैसे पैनल को छोड़कर)

xrandr

उदाहरण के लिए:

xrandr | head -n1 | cut -d, -f2 | cut -d" " -f3-5

मेरे मामले में आउटपुट:

4400 x 2560

पैनलों को बाहर करने का तरीका सुनिश्चित नहीं है - यदि आपके पास एक से अधिक मॉनिटर हैं, तो वे वर्चुअल स्क्रीन के बीच में भी हो सकते हैं, इसलिए पैनल के बिना स्क्रीन ज्यामिति "उपलब्ध स्क्रीन स्पेस" की तुलना में अधिक जटिल हो सकती है।

> सजावट सहित एक निश्चित आकार होने के लिए एक खिड़की सेट करने की क्षमता

wmiface setFrameGeometry $window $x $y $width $height

अधिक संभावित आदेशों के लिए wmiface README पढ़ें।


2
wmiface को सभी (किसी भी?) डिस्ट्रोस के साथ पैक नहीं किया जाता है। मैं यहां से ubuntu पैकेज का उपयोग करके मिंट पर स्थापित करने में सक्षम था: kde-apps.org/content/show.php?content=40425 README का उल्लेख यहां पाया जा सकता है: gitorious.org/wmiface-wmiface/source/…
स्लैंकप

इस टिप्पणी के दूसरे भाग को देखें unix.stackexchange.com/a/156349/84607 के लिए एक और तरीका है जिसमें xwininfo, xdotool और xprop के संयोजन का उपयोग करके सजावट सहित पूरी ज्यामिति प्राप्त की जा सकती है।
4
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.