Jugando con AppleScript quiero manipular la ubicación de unos Windows con position
pero tengo un problema para definir el monitor. Actualmente tengo varios monitores de diferentes tamaños y marcas a los que me conecto con mi MacBook durante mis viajes. Lo único que se repite en los cuatro monitores a los que me conecto es que el monitor que quiero manipular incluye la barra de menú.
Al realizar las pruebas con do shell script "system_profiler SPDisplaysDataType
No estoy seguro de si el texto devuelto de Main Display: Yes
considera que el principal es donde reside la barra de menú de la extracción:
Graphics/Displays:
Intel Iris Pro:
Chipset Model: Intel Iris Pro
Type: GPU
Bus: Built-In
VRAM (Dynamic, Max): 1536 MB
Metal: Supported
Displays:
Color LCD:
Display Type: Built-In Retina LCD
Resolution: 2880 x 1800 Retina
Mirror: Off
Online: Yes
Rotation: Supported
Automatically Adjust Brightness: Yes
Connection Type: DisplayPort
Thunderbolt Display:
Display Type: LCD
Resolution: 2560 x 1440
Main Display: Yes
Mirror: Off
Online: Yes
Rotation: Supported
Automatically Adjust Brightness: No
Connection Type: DisplayPort
Si mi suposición de la Main Display
es correcto ¿cómo debo grepar adecuadamente la resolución de la pantalla principal identificada para poder manipular el Windows?
Cuando investigo parecería que algunos comúnmente sólo pisan cada pantalla:
- Posicionamiento de una ventana con AppleScript utilizando dos monitores
- Ejecutar AppleScript para un monitor específico
- ¿No se puede obtener o establecer el tamaño de la ventana de algunas aplicaciones utilizando AppleScript?
- Fijar la posición de la ventana con AppleScript
Así que no sé si esto sería dos preguntas en una. Estoy algo confundido sobre cómo se determina la secuencia cuando se conecta a múltiples monitores (como hoy podría estar conectado a una pantalla thunderbolt pero mañana podría estar conectado a dos monitores Dells a través de mis dos DisplayPorts) y si hay una manera de apuntar a un monitor en particular basado en la barra de menú.
Ya puedo detectar la aplicación y su tamaño con:
tell application "System Events" to tell application process "Notes" to set theSize to get size of window 1
set theWidth to item 1 of theSize
set theHeight to item 2 of theSize
pero mi problema es determinar la resolución para poder calcular la position
y bounds
para mover la ventana de la aplicación.