¿Cómo uso la captura de pantalla para capturar ventanas flotantes?

3

Estoy intentando automatizar la captura periódica de una ventana flotante. Específicamente, de la ventana flotante "Llamada actual" que usa Skype cuando la ventana principal está fuera de pantalla.

Al buscar en Google, descubrí que todo lo que necesito es un ID de ventana para pasar a captura de pantalla:

screencapture -l<win_id> <output_file>

El problema es que no he encontrado una manera 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 ID de ventana para la ventana "Llamada actual"?

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

Actualizar

También he intentado 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. Entonces, estoy un poco confundido aquí. ¿Qué se supone que significa -1 ?

    
pregunta m000 02.04.2013 - 15:34

2 respuestas

1

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

Consíguelo aquí: enlace

Úsalo así:

./screencapture.py Skype -t Current Call -w all_windows above_window
    
respondido por el thismachinechills 22.03.2015 - 17:19
0

Prueba:

tell application "Skype" to id of first window whose name = ""
    
respondido por el adayzdone 02.04.2013 - 16:48

Lea otras preguntas en las etiquetas