Jugando con AppleScript Quiero manipular la ubicación de algunas ventanas con position
pero tengo un problema al 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 con los cuatro monitores a los que me conecto es que el monitor que quiero manipular incluye la barra de menú.
Al realizar 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 se encuentra 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 Main Display
es correcta, ¿cómo debo obtener correctamente la resolución de la pantalla principal identificada para poder manipular las ventanas?
Cuando investigo, aparecerá un poco en cada pantalla:
- Posicionando una ventana con AppleScript usando monitores duales
- Ejecute AppleScript para un monitor específico
- No se puede obtener o configurar el tamaño de la ventana de algunas aplicaciones usando AppleScript?
- Establezca 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 varios monitores (como hoy podría estar conectado a una pantalla de rayo pero mañana podría estar conectado a dos monitores Dells a través de mis dos DisplayPorts) y si hay una manera de Dirigirse 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 en la determinación de la resolución, por lo que puedo calcular el position
y bounds
para mover la ventana de la aplicación.