मैं स्क्रीनेप्टचर -l को पास करने के लिए विंडोिड को कैसे खोजूं?


26

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

-l<windowid> capture this windowsid

यह आवेदन की प्रक्रिया आईडी नहीं है।

जवाबों:


22

कुछ अनुप्रयोगों के लिए आप AppleScript का उपयोग कर सकते हैं:

screencapture -l$(osascript -e 'tell app "Safari" to id of window 1') test.png

हालांकि यह क्रोम के साथ काम नहीं करता है ।

यदि आप चलाते हैं तो आईडी क्वार्ट्ज डिबग ( डेवलपर से उपलब्ध है। डाउनलोड ) में भी दिखाए जाते हैं defaults write com.apple.QuartzDebug QuartzDebugPrivateInterface -bool true


1
दुर्भाग्यवश, यह ग्रहण या Google Chrome जैसे गैर-Applescriptable ऐप्स के साथ काम नहीं करता है।
काजलुके जुले

हाँ, मेरा लक्ष्य ऐप उपयुक्त नहीं है :( लेकिन फिर भी आपको धन्यवाद।
गैरेथ सिम्पसन

2
ध्यान दें कि विंडो आईडी को उन अनुप्रयोगों में भी क्वार्ट्ज विंडो आईडी के अनुरूप होने की गारंटी नहीं है जो कि स्क्रिप्ट करने योग्य हैं।
क्रिस पेज

क्वार्ट्ज डिबग का अब कोई अस्तित्व नहीं है या फिर इसका नाम बदल दिया गया है या बंडल किया गया है?
GMAN

क्वार्टर डीबग "अतिरिक्त उपकरण Xcode के लिए" डेवलपर . apple.com/download/more पर उपलब्ध है
निकोलस रिले

9

मैंने उन ऐप्स के लिए विंडो आईडी प्राप्त करने के लिए थोड़ी कमांड लाइन उपयोगिता लिखी थी जो AppleScript का समर्थन नहीं करते हैं। इसे यहां प्राप्त करें: https://github.com/smokris/GetWindowID

फिर आप इसके बंडल नाम और विंडो शीर्षक को निर्दिष्ट करके एक विशिष्ट विंडो कैप्चर कर सकते हैं:

screencapture -l$(./GetWindowID "Vuo Editor" "untitled composition") VuoEditorWindow.png

नमस्ते, मैं इसका उपयोग करने की कोशिश कर रहा हूं लेकिन मुझे यकीन नहीं है कि मैं क्या कर रहा हूं। मैंने Makefile, GetWindowID.m डाउनलोड किया है। लेकिन जब मैं आदेश ./GetWindowID.m लांच यह मुझे इस त्रुटि देता है: ./ GetWindowID.m: लाइन 4: अप्रत्याशित टोकन के पास सिंटैक्स त्रुटि (' ./GetWindowID.m: line 4: पूर्णांक मुख्य (int argc, char ** argv) '
KingBOB

1
@ जियोर्जियो: एक टर्मिनल विंडो खोलें और उस फ़ोल्डर में बदलें Makefileऔर जिसमें GetWindowID.mकमांड है make। यह बाइनरी नामक एक उत्पादन करेगा GetWindowID, जिसे आप मेरे उत्तर में वर्णित कमांड का उपयोग करके शुरू कर सकते हैं।
धूम्रपान करने वाला

6

मैंने एक कमांड लाइन उपयोगिता लिखी थी जो कि ओवरस्पोर्ट screencaptureऔर क्वार्ट्ज विंडोिंग लाइब्रेरी से जुड़ी थी।

इसे यहाँ पकड़ो: https://github.com/thismachinechills/pyscreencapture

इसे इस तरह उपयोग करें:

./screencapture.py Chrome -t Stack Overflow

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