Windowid'i screencapture -l'ye nasıl geçiririm?


26

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:


22

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.


1
Ne yazık ki, bu Eclipse veya Google Chrome gibi Uygulanamayan uygulamalarla çalışmıyor.
CajunLuke

Evet, hedef uygulamam Uygulanamaz değil :( Ama yine de teşekkürler.
Gareth Simpson

2
Pencere kimlikleri, komut dosyası olan uygulamalarda bile Quartz pencere kimliğine karşılık gelmediğini garanti edin.
Chris Page

Kuvars hata ayıklaması artık yok gibi görünüyor veya başka bir şekilde yeniden adlandırıldı veya paketlendi?
gman

Quartz Debug, developer.apple.com/download/more adresindeki "Xcode için Ek Araçlar" bölümüne eklenmiştir .
Nicholas Riley

9

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

Merhaba, kullanmaya çalışıyorum ama ne yaptığımdan emin değilim. GetWindowID.m adlı Makefile dosyasını indirdim. Ama ./GetWindowID.m komutunu çalıştırdığımda bana şu hatayı veriyor: ./ GetWindowID.m: satır 4: beklenmeyen belirteci (' ./GetWindowID.m: line 4: int main (int argc, char ** argv) ' yakınında sözdizimi hatası '
KingBOB

1
@Giorgio: Bir Terminal penceresi açın ve içeren klasörü değiştirin Makefileve GetWindowID.mardından komutu çalıştırın make. GetWindowIDCevabımda açıkladığım komutu kullanarak çağırabileceğiniz bir ikilik üretecektir .
smokris

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.