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) '
Makefiledan 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 screencapturedan perpustakaan windowing Quartz.
Raih di sini: https://github.com/thismachinechills/pyscreencapture
Gunakan seperti ini:
./screencapture.py Chrome -t Stack Overflow