Come trovo il windowid da passare a screencapture -l?

22

L'utility screencapture della riga di comando afferma di essere in grado di catturare una singola finestra senza richiedere l'interazione, ma non riesco a capire cosa passare.

-l<windowid> capture this windowsid

Non è l'id di processo dell'applicazione.

    
posta Gareth Simpson 16.07.2012 - 20:06
fonte

3 risposte

18

Per alcune applicazioni puoi usare AppleScript:

screencapture -l$(osascript -e 'tell app "Safari" to id of window 1') test.png

Non funziona con Chrome però.

Gli ID sono mostrati anche in Quartz Debug (disponibile da developer.apple.com/downloads ) se esegui defaults write com.apple.QuartzDebug QuartzDebugPrivateInterface -bool true .

    
risposta data 16.07.2012 - 20:49
fonte
8

Ho scritto una piccola utility della riga di comando per recuperare l'ID della finestra per le app che non supportano AppleScript. Scaricalo qui: link

Puoi quindi catturare una finestra specifica specificando il nome del bundle e il titolo della finestra:

screencapture -l$(./GetWindowID "Vuo Editor" "untitled composition") VuoEditorWindow.png
    
risposta data 02.06.2013 - 20:21
fonte
4

Ho scritto un'utilità della riga di comando che copre oltre screencapture e la libreria di finestre Quartz.

Acquistalo qui: link

Usalo in questo modo:

./screencapture.py Chrome -t Stack Overflow
    
risposta data 22.03.2015 - 17:10
fonte

Leggi altre domande sui tag