कमांड लाइन उपयोगिता स्क्रेंसेप्ट्योर का दावा है कि बातचीत की आवश्यकता के बिना एक भी खिड़की पर कब्जा करने में सक्षम है, लेकिन मैं यह नहीं समझ सकता कि इसे क्या पारित करना है।
-l<windowid> capture this windowsid
यह आवेदन की प्रक्रिया आईडी नहीं है।
कमांड लाइन उपयोगिता स्क्रेंसेप्ट्योर का दावा है कि बातचीत की आवश्यकता के बिना एक भी खिड़की पर कब्जा करने में सक्षम है, लेकिन मैं यह नहीं समझ सकता कि इसे क्या पारित करना है।
-l<windowid> capture this windowsid
यह आवेदन की प्रक्रिया आईडी नहीं है।
जवाबों:
कुछ अनुप्रयोगों के लिए आप AppleScript का उपयोग कर सकते हैं:
screencapture -l$(osascript -e 'tell app "Safari" to id of window 1') test.png
हालांकि यह क्रोम के साथ काम नहीं करता है ।
यदि आप चलाते हैं तो आईडी क्वार्ट्ज डिबग ( डेवलपर से उपलब्ध है। डाउनलोड ) में भी दिखाए जाते हैं defaults write com.apple.QuartzDebug QuartzDebugPrivateInterface -bool true
।
मैंने उन ऐप्स के लिए विंडो आईडी प्राप्त करने के लिए थोड़ी कमांड लाइन उपयोगिता लिखी थी जो AppleScript का समर्थन नहीं करते हैं। इसे यहां प्राप्त करें: https://github.com/smokris/GetWindowID
फिर आप इसके बंडल नाम और विंडो शीर्षक को निर्दिष्ट करके एक विशिष्ट विंडो कैप्चर कर सकते हैं:
screencapture -l$(./GetWindowID "Vuo Editor" "untitled composition") VuoEditorWindow.png
(' ./GetWindowID.m: line 4:
पूर्णांक मुख्य (int argc, char ** argv) '
Makefile
और जिसमें GetWindowID.m
कमांड है make
। यह बाइनरी नामक एक उत्पादन करेगा GetWindowID
, जिसे आप मेरे उत्तर में वर्णित कमांड का उपयोग करके शुरू कर सकते हैं।
मैंने एक कमांड लाइन उपयोगिता लिखी थी जो कि ओवरस्पोर्ट screencapture
और क्वार्ट्ज विंडोिंग लाइब्रेरी से जुड़ी थी।
इसे यहाँ पकड़ो: https://github.com/thismachinechills/pyscreencapture
इसे इस तरह उपयोग करें:
./screencapture.py Chrome -t Stack Overflow