Desde el panel de Pantallas en Preferencias del sistema, puedo cambiar manualmente el monitor principal arrastrando la barra de menú de una pantalla a la otra. Me gustaría automatizar esto y hacerlo parte de un AppleScript.¿Cómo puedo cambiar la pantalla principal a través de AppleScript?
Respuesta
Al igual que puede decirle a System Events.app que duerma su Mac, puede decirle a Image Events.app que se meta con sus pantallas. La aplicación de eventos de imagen proporciona una colección de "pantallas". Cada pantalla tiene un "perfil" con muchas sorpresas. Sin embargo, todo lo que acabo de mencionar es de solo lectura, por lo que no tengo una buena manera de hacerlo desde el script.
Puede tener mejor suerte en Automator: acceda al registro, ejecute Preferencias del sistema, vaya a Pantallas, arrastre la barra de menú a la otra pantalla y pulse detener. Apuesto a que algo funcionará.
Debería ver si puede hacerlo a través de las secuencias de comandos de la interfaz de usuario de AppleScript. Le permite manipular los elementos de la GUI de una aplicación; útil cuando la aplicación no es compatible con secuencias de comandos directamente. Lo probaría yo mismo, pero no tengo ninguna muestra extra por ahí.
Aquí está a pretty good overview by MacTech.
No me parece que los controles relevantes sean accesibles a través de secuencias de comandos GUI. Supongo que podría generar clics y arrastres de mouse, pero las coordenadas serían diferentes para diferentes Mac y arreglos de visualización. –
Las pantallas son controlados por el archivo /Library/Preferences/com.apple.windowserver.plist
preferencia:
- Una bandera controla si la pantalla principal es la pantalla de a bordo de la clave
DisplayMainOnInternal
. - La clave
DisplaySets
contiene la lista de los conjuntos de visualización. El primer conjunto es el usado (hecho para verificar). - En el conjunto, cada elemento contiene las propiedades de la pantalla. La clave
IOFlags
parece indicar si la pantalla es la principal (valor de 7) o no (valor de 3).
Antes de ejecutar Apple Script, puede cambiar la configuración de visualización a mano y guardar una copia del archivo /Library/Preferences/com.apple.windowserver.plist
para estudiarla.
Tenga en cuenta que el siguiente procedimiento no se ha probado.
Con AppleScript, las claves del archivo plist se cambian de forma individual, con el fin de cambiar la pantalla principal:
- Hacer una copia de seguridad de la
/Library/Preferences/com.apple.windowserver.plist
(en caso de) - Alter la pantalla establecer el seleccione la pantalla principal (
DisplaySets
IOFlags
y claves) utilizando el comandodefaults
- Reiniciar la ventana del servidor:
killall -KILL SystemUIServer
Al usar AppleScript, puede invocar default
para escribir la configuración para cambiar el monitor principal.
- 1. ¿Cómo puedo mejorar el rendimiento al agregar InDesign XMLElements a través de AppleScript?
- 2. Cambiar la URL a través de PHP
- 3. ¿Cómo cambiar la rama actual a principal en Egit?
- 4. Construir y ejecutar un proyecto xcode a través de AppleScript
- 5. Evitar AppleScript a través de Ruby: rb-appscript o rubyosa?
- 6. Cambiar ventana de estado a pantalla completa
- 7. Xcode 4: ¿Puedo obtener una ruta al archivo actualmente activo a través de AppleScript?
- 8. ¿Cómo puedo usar jQuery para mover un div a través de la pantalla?
- 9. Java: ¿volver a cambiar al hilo principal?
- 10. Poner la pantalla en reposo (⇧^⏏/shift + control + expulsar) en AppleScript
- 11. Cómo cambiar la contraseña LDAP a través de JNDI
- 12. ¿Cómo puedo cambiar o actualizar la contraseña en la membresía asp.net a través del servidor sql
- 13. Obtenga la pestaña Fuente de la corriente en Google Chrome a través de Applescript
- 14. ¿Cómo regresar de la pantalla de preferencias a la actividad principal?
- 15. Cambiar brillo de la pantalla (C#)
- 16. ¿Cómo puedo obligar a Vaadin a actualizar la pantalla?
- 17. ¿Cómo acceder a la configuración de DPI de la pantalla a través de javascript?
- 18. cómo centrar una forma principal de Qt en la pantalla?
- 19. Alternativas a Applescript?
- 20. ¿Cómo puedo cambiar a otro usuario en MySQL a través de cmd
- 21. Ajuste el brillo de la pantalla a través del código
- 22. ¿Cómo cambiar un estilo de pseudoclase a través de JavaScript?
- 23. cambiar una clave principal de no agrupado a Agrupado
- 24. ¿Cómo puedo enumerar a través de JObject?
- 25. ¿Cambiar la configuración a través de api en gmail?
- 26. Cambiar la carpeta raíz a través de .htaccess
- 27. ¿Cómo cambiar la dirección predeterminada de pantalla dividida?
- 28. ¿Cómo iterar a través de Diccionario y cambiar valores?
- 29. ¿Importar métodos de AppleScript en otro AppleScript?
- 30. ¿Cómo puedo cambiar de CMD.exe a Powershell?
La grabación con Automator no parece poder grabar las Preferencias del Sistema de apertura (es fácil de solucionar) o arrastrar la barra de menú. –