¿Cuáles son las variables necesarias para acceder a las propiedades de enfoque en la vista de pantalla dividida?

1

¿Cuáles son los nombres de las variables (en términos de variables de Apple o de otra manera) que rastrean la aplicación enfocada actualmente, el diseño de las aplicaciones en espacios, el espacio enfocado actualmente y si dos aplicaciones comparten un espacio en una vista dividida en lugar de de las 2 aplicaciones que aparecen en un escritorio?

¿Cómo se asigna el enfoque (dada una variable que identifica una aplicación) a una ventana en particular de esa aplicación si esa ventana reside en una vista de pantalla dividida?

Para concretar la razón de esta pregunta: el objetivo es escribir un Applescript (u otro tipo de script) que asigne un método abreviado de teclado que permita el intercambio de enfoque rápidamente entre dos aplicaciones que comparten una vista de pantalla dividida.

El algoritmo más simple que se me ocurre para lograr esto (ya que parece no ser una configuración integrada) es

  1. obtener una lista de los espacios actuales (incluidos escritorios, aplicaciones de pantalla completa y aplicaciones de pantalla dividida)
  2. obtener espacio enfocado actualmente
  3. Si el espacio enfocado actualmente está asignado a aplicaciones de pantalla dividida, obtenga una lista de esas aplicaciones y ventanas de aplicaciones (cada una debe tener la longitud 2).
  4. obtener aplicación enfocada actualmente
  5. asigne el foco al siguiente elemento en la lista de ventanas de la aplicación en la vista de pantalla dividida enfocada actualmente (que debería ser la otra ventana de la aplicación en la pantalla dividida enfocada actualmente)

No estoy seguro de si esto funcionaría tan bien para resolver el problema señalado en Cambie el enfoque en vista dividida con respecto a dos ventanas de la misma aplicación, pero al menos esto sería un comienzo.

    
pregunta mpacer 24.11.2015 - 23:28

1 respuesta

2

He estado buscando esta respuesta durante años, y me he vuelto muy bueno rastreando funciones ocultas ... Desafortunadamente, no sirvió de nada. Apple no tiene ningún mecanismo para hacer nada con espacios programáticamente. La única instalación que encontré es ejecutando el comando defaults y (bajo uno de los valores predeterminados cuyo nombre no puedo recordar en este momento) hay un área que le dará números de ventanas crípticas y los espacios a los que pertenecen. El problema es que la lista no se actualiza en vivo, por lo que no es realmente tan útil. Todavía estoy buscando, pero estoy bastante seguro de que no existe una forma aprobada por Apple para interactuar con espacios, pantallas divididas o cualquiera de sus otras manifestaciones.

EDITAR: Oh, sí, es "com.apple.spaces". Ejecute el comando defaults read com.apple.spaces en el terminal para llegar a lo que estaba hablando.

EDIT2: También, hay una manera de activar espacios con un poco de código C:

CoreDockSendNotification(CFSTR("com.apple.expose.awake"));
CoreDockSendNotification(CFSTR("com.apple.expose.front.awake"));
CoreDockSendNotification(CFSTR("com.apple.showdesktop.awake"));

Cada una de estas líneas hará que el control de la misión haga cosas, no es tan útil. Hay otras formas de hacer esto ...

    
respondido por el William T Froggard 25.11.2015 - 01:07

Lea otras preguntas en las etiquetas