2 votos

¿Detectar cuándo una aplicación pasa a pantalla completa?

Me gustaría detectar ese evento desde un Applescript. He encontrado el lsappinfo aplicación de línea de comandos, que tiene un listen que parece llenar mi necesidad exactamente, pero ir a pantalla completa se muestra en la salida. Esto es lo que he probado. Primero ejecuté en la Terminal

lsappinfo  listen +all forever

Luego hice clic en una ventana de Safari, y luego hice clic en el botón verde para hacerla pantalla completa, luego salí de la pantalla completa y volví a la terminal para ver la salida. Luego lo hice de nuevo pero sin ir a pantalla completa, sólo haciendo clic en una ventana de Safari, y luego haciendo clic de nuevo en la ventana de Terminal. En ambos casos, la secuencia de eventos es

  1. FrontApplicationPresentationModeChanged, recibido por Safari
  2. PresentationModeChangedBecauseFrontApplicationChanged, recibido por Safari
  3. BecameFrontmost, recibido por Safari
  4. LostFrontmost, recibido por Terminal
  5. MenuBarAcquired, recibido por Safari
  6. MenuBarLost, recibido por Terminal
  7. FrontApplicationPresentationModeChanged, recibido por Terminal
  8. PresentationModeChangedBecauseFrontApplicationChanged, recibido por Terminal
  9. BecameFrontmost, recibido por Terminal
  10. etc.

El "evento de pantalla completa" debería haber aparecido entre el 6 y el 7 en esta lista, pero brilla por su ausencia.

Esto es en MacOS 10.12.6. Me parece que es un error. ¿Alguien sabe si funciona en otras versiones de MacOS? ¿Hay alguna otra manera de lograr mi objetivo?

0 votos

Tal vez quiera echar un vistazo a EventScripts que tiene un Entró en pantalla completa evento , bajo su Espacios Eventos que puede desencadenar un AppleScript . Sólo cuesta 3,99 dólares en el Vista previa de la Mac App Store . También puede consultar Eventos y parámetros disponibles para ver todos los eventos que pueden activar un AppleScript. Aparte de ser un cliente satisfecho, no tengo ninguna otra afiliación con Mousedown, el desarrollador de EventScripts.

0 votos

Gracias por la sugerencia. Una aplicación muy útil, que no conocía. Desgraciadamente, el evento "Entered fullscreen" no se dispara nunca. ¡He probado con otros eventos, y los scripts se ejecutan como se anuncia pero no "Entered fullscreen"! ¿Te funciona a ti? Y si es así, ¿cuál es tu configuración?

1voto

Howard Designs Puntos 7

No estoy seguro de si esto resuelve tu problema o no, pero la forma más fácil de detectar si una ventana es o no de pantalla completa sería comparar sus dimensiones con las de tu "ventana de escritorio". Véase más abajo:

tell application "Finder" to set screenSize to bounds of window of desktop

tell application "Safari" to set windowBounds to bounds of front window

if windowBounds is equal to screenSize then
    return "It's Full Screen"
else
    return "Not Full Screen"
end if

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