जवाबों:
यदि आप कुछ स्थापित करते हैं तो यह करना आसान है xdotool
। तो आप कर सकते हैं:
xdotool search --name "window name" windowsize 300 400
खिड़की के शीर्षक में दिखने वाले नाम या रेग पूर्व के साथ "विंडो नाम" को बदलें (आप विंडो क्लास और कई अन्य चीजों द्वारा भी खोज सकते हैं), और विंडोज़ के बाद प्रदर्शित होने वाले दो नंबर क्रमशः चौड़ाई और ऊंचाई हैं। (आप पर्केंट्स आदि का उपयोग भी कर सकते हैं) man xdotool
एक बार इसे इंस्टॉल करने के बाद देखें ।
यदि आप ल्यूसिड या पहले के हैं, तो मैं एक नया संस्करण प्राप्त करने के लिए xdotool वेबसाइट पर जाने की सलाह देता हूं ।
उदाहरण के लिए, फ़ायरफ़ॉक्स का आकार बदलने के लिए:
xdotool search --name "Mozilla Firefox" windowsize 1024 768
अगर विंडो मैनेजर Xlib का समर्थन करता है तो वहाँ है। यह विंडो के आकार को 500x300 पर सेट करने के लिए पायथन का उपयोग करता है:
WIDTH, HEIGHT = 500, 300
import Xlib
import Xlib.display
display = Xlib.display.Display()
root = display.screen().root
windowID = root.get_full_property(display.intern_atom('_NET_ACTIVE_WINDOW'), Xlib.X.AnyPropertyType).value[0]
window = display.create_resource_object('window', windowID)
window.configure(width = WIDTH, height = HEIGHT)
display.sync()
हार्ड पार्ट को विंडो आईडी मिल रही है; उपरोक्त कोड में इसे सक्रिय विंडो की आईडी मिली। यदि आप दूसरी आईडी चाहते हैं, तो आप प्रत्येक विंडो का शीर्षक और पीआईडी नियंत्रित करने के लिए कुछ इस तरह का उपयोग कर सकते हैं, और इसके आधार पर सही आईडी चुनें:
windowIDs = root.get_full_property(display.intern_atom('_NET_CLIENT_LIST'), Xlib.X.AnyPropertyType).value
for windowID in windowIDs:
window = display.create_resource_object('window', windowID)
name = window.get_wm_name() # Title
prop = window.get_full_property(display.intern_atom('_NET_WM_PID'), Xlib.X.AnyPropertyType)
pid = prop.value[0] # PID
print pid
मिलता है <Xlib.protocol.request.GetProperty serial = 15, data = {'bytes_after': 0, 'property_type': 6, 'value': (32, array('I', [5810L])), 'sequence_number': 15}, error = None>
... वास्तविक पीआईडी को अलग करने के लिए कोई सुझाव?
name
।
get_full_property
और कर .value[0]
( value
एक है सरणी )
XFCE के लिए विशिष्ट pyxfce है जो आपको अजगर भाषा का उपयोग करने की अनुमति देगा । Pyxfce एक एपीआई है, जो अन्य बातों के अलावा, आपको विंडो मैनेजर के साथ संवाद करने की सुविधा देता है । कमांड लाइन से इसका उपयोग करने के लिए आपको पहले एक स्क्रिप्ट तैयार करनी होगी।
आपके उपयोग के आधार पर, एक्स विंडो आईडी का उपयोग करके एक्स-आधारित एपीआई का उपयोग करने का महत्व (जैसे कि एक और जवाब में अजगर-एक्सलिब या xdotools का उपयोग करके) बनाम अन्य जो स्ट्रिंग्स से मेल खाते विंडो टाइटल्स (जैसे wmctrl) का उपयोग करते हैं, यह है कि कोई भी नहीं हो सकता है विंडोज़ के बीच भ्रम, जिसके संबंधित शीर्षक में समान कीवर्ड हो सकते हैं।
#!/bin/bash
#get window pid under mouse
xprop -id $(xwit -current -print | cut -d ":" -f 1) | grep _NET_WM_PID | cut -d "=" -f2 | cut -c 2-
मैंने पाया कि wmctrl ने मुझे सबसे अच्छा अनुकूल बनाया। यह एक छोटे पैकेज के रूप में, उबंटू के लिए और रास्पियन के लिए उपलब्ध है, और अन्य डिस्ट्रो के लिए भी संभव है।