Screencapture utilitas baris perintah mengklaim dapat menangkap satu jendela tanpa memerlukan interaksi, tapi saya tidak tahu apa yang harus dilewati.
-l<windowid> capture this windowsid
Ini bukan id proses aplikasi.
Screencapture utilitas baris perintah mengklaim dapat menangkap satu jendela tanpa memerlukan interaksi, tapi saya tidak tahu apa yang harus dilewati.
-l<windowid> capture this windowsid
Ini bukan id proses aplikasi.
Jawaban:
Untuk beberapa aplikasi, Anda dapat menggunakan AppleScript:
screencapture -l$(osascript -e 'tell app "Safari" to id of window 1') test.png
Itu tidak bekerja dengan Chrome .
ID-nya juga ditampilkan di Quartz Debug (tersedia dari developer.apple.com/downloads ) jika Anda menjalankannya defaults write com.apple.QuartzDebug QuartzDebugPrivateInterface -bool true
.
Saya menulis sedikit utilitas baris perintah untuk mengambil Window ID untuk aplikasi yang tidak mendukung AppleScript. Dapatkan di sini: https://github.com/smokris/GetWindowID
Anda kemudian dapat menangkap jendela tertentu dengan menentukan nama bundel dan judul jendela:
screencapture -l$(./GetWindowID "Vuo Editor" "untitled composition") VuoEditorWindow.png
(' ./GetWindowID.m: line 4:
int tak terduga utama (int argc, char ** argv) '
Makefile
dan GetWindowID.m
, kemudian jalankan perintah make
. Ini akan menghasilkan biner bernama GetWindowID
, yang kemudian Anda dapat memanggil menggunakan perintah yang saya jelaskan dalam jawaban saya.
Saya menulis sebuah utilitas baris perintah yang membungkus screencapture
dan perpustakaan windowing Quartz.
Raih di sini: https://github.com/thismachinechills/pyscreencapture
Gunakan seperti ini:
./screencapture.py Chrome -t Stack Overflow