Komut satırı yardımcı programı screencapture, etkileşim gerektirmeden tek bir pencere yakalayabildiğini iddia ediyor, ancak neyin geçeceğini çözemiyorum.
-l<windowid> capture this windowsid
Uygulamanın işlem kimliği değil.
Komut satırı yardımcı programı screencapture, etkileşim gerektirmeden tek bir pencere yakalayabildiğini iddia ediyor, ancak neyin geçeceğini çözemiyorum.
-l<windowid> capture this windowsid
Uygulamanın işlem kimliği değil.
Yanıtlar:
Bazı uygulamalar için AppleScript kullanabilirsiniz:
screencapture -l$(osascript -e 'tell app "Safari" to id of window 1') test.png
Yine de Chrome ile çalışmıyor .
Kimlikleri, eğer çalıştırırsanız Quartz Debug'da ( developer.apple.com/downloads adresinden edinilebilir ) gösterilir defaults write com.apple.QuartzDebug QuartzDebugPrivateInterface -bool true
.
AppleScript'i desteklemeyen uygulamalar için Pencere Kimliğini almak üzere küçük bir komut satırı yardımcı programı yazdım. Buradan alın: https://github.com/smokris/GetWindowID
Ardından paket adını ve pencere başlığını belirterek belirli bir pencereyi yakalayabilirsiniz:
screencapture -l$(./GetWindowID "Vuo Editor" "untitled composition") VuoEditorWindow.png
(' ./GetWindowID.m: line 4:
int main (int argc, char ** argv) ' yakınında sözdizimi hatası '
Makefile
ve GetWindowID.m
ardından komutu çalıştırın make
. GetWindowID
Cevabımda açıkladığım komutu kullanarak çağırabileceğiniz bir ikilik üretecektir .
Kaydırılan bir komut satırı yardımcı programı screencapture
ve Quartz pencere kitaplığı yazdım .
Buradan alın: https://github.com/thismachinechills/pyscreencapture
Bu şekilde kullanın:
./screencapture.py Chrome -t Stack Overflow