Come si usa la cattura dello schermo per catturare finestre mobili?

3

Sto cercando di automatizzare l'acquisizione periodica di una finestra mobile. In particolare, della finestra mobile "Current Call" utilizzata da Skype quando la finestra principale è fuori dallo schermo.

Googling, ho scoperto che tutto ciò di cui ho bisogno è un ID di finestra da passare a screencapture:

screencapture -l<win_id> <output_file>

Il problema è che non ho trovato un modo per ottenere l'id della finestra per "Chiamata corrente". Ecco cosa ho provato finora:

$ osascript -e 'tell app "Skype" to id of first window whose floating is true'
20:61: execution error: Skype got an error: Can’t get window 1 whose floating = true. Invalid index. (-1719)
$ osascript -e 'tell app "Skype" to id of first window whose name is "Current Call"'
20:67: execution error: Skype got an error: Can’t get window 1 whose name = "Current Call". Invalid index. (-1719)

Qualcuno sa come ottenere l'id della finestra per la finestra "Chiamata corrente"?

O, in alternativa, qualcuno sa se posso ottenere questo screenshot in qualche altro modo? (ad esempio, esegui screencapture con altri argomenti o utilizza qualche altro strumento per catturare lo screenshot)

Aggiorna

Ho anche provato quanto segue:

$ osascript -e 'tell app "Skype" to id of window 0'
-1
$ osascript -e 'tell app "Skype" to id of window 1'
-1
$ osascript -e 'tell app "Skype" to id of window 2'
84
$ osascript -e 'tell app "Skype" to id of window 3'
20:22: execution error: Skype got an error: Can’t get window 3. Invalid index. (-1719)

La finestra con id 84 è la finestra principale di skype. Quindi, sono un po 'perplesso qui. Cosa si intende per -1 ?

    
posta m000 02.04.2013 - 15:34
fonte

2 risposte

1

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 Skype -t Current Call -w all_windows above_window
    
risposta data 22.03.2015 - 17:19
fonte
0

Prova:

tell application "Skype" to id of first window whose name = ""
    
risposta data 02.04.2013 - 16:48
fonte

Leggi altre domande sui tag