3 votos

¿Cómo se utiliza screencapture para capturar Windows flotante?

Estoy intentando automatizar la captura periódica de una ventana flotante. En concreto, de la ventana flotante 'Llamada actual' que utiliza Skype cuando la ventana principal está fuera de la pantalla.

Buscando en google, he encontrado que todo lo que necesito es un id de ventana para pasar a screencapture:

screencapture -l<win_id> <output_file>

El problema es que no he encontrado la forma de obtener el id de ventana para "Llamada actual". Esto es lo que he intentado hasta ahora:

$ 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)

¿Alguien sabe cómo obtener el identificador de la ventana "Llamada actual"?

O, alternativamente, ¿alguien sabe si puedo obtener esta captura de pantalla de alguna otra manera? (por ejemplo, ejecutando screencapture con otros argumentos, o utilizar alguna otra herramienta para capturar la pantalla)


Actualización

También he probado lo siguiente:

$ 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 ventana con id 84 es la ventana principal de skype. Así que estoy un poco desconcertado. Que es -1 ¿Qué se supone que significa?

1voto

UglyEugen Puntos 11

Escribí una utilidad de línea de comandos que envuelve screencapture y la biblioteca de ventanas Quartz.

Consíguelo aquí: https://github.com/thismachinechills/pyscreencapture

Úsalo así:

./screencapture.py Skype -t Current Call -w all_windows above_window

0voto

adayzdone Puntos 1258

Inténtalo:

tell application "Skype" to id of first window whose name = ""

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X