¿Puede alguien explicar por qué funcionan estos scripts?

2

Soy un nuevo AppleScript iniciado. Estaba en una Cumbre de desarrolladores y tenía que dejar de jugar tanto con mis ventanas. Así que busqué guiando el tamaño y posicionamiento de la ventana. Estaba en mi MacBook Pro, por lo que escribí el siguiente código y lo coloqué en Automator como Servicio que luego guardé en HardDrive > Usuarios > Usuario > Biblioteca > Servicios.

tell application "System Events"
    set myTargetApplication to name of the first process whose frontmost is true
end tell

tell application myTargetApplication
    --  This line is what we use when we need to grab that bounds of a window.
    -- set currentBounds to bounds of the first window
    set bounds of the first window to {61, 46, 1261, 777}
end tell

Escribiría el script en "Script Editor" y lo probaría con la línea de comentarios sin comentarios y la línea después de los comentarios. Luego podría colocar la ventana como quisiera y obtener la configuración que necesitaba para aplicar. Conseguí los ajustes y los pegué en la línea justo antes de "end tell" y funcionaron.

Establecí esto como un servicio y ahora puedo hacer CUALQUIER ventana (desde el Servicio) del tamaño a lo que necesitaba.

Llegué a casa y me conecté a mi monitor dual, un Acer de 32 ", y cada vez que ejecutaba el script en mi monitor grande, saltaba a la ventana del MacBook.

Así que modifiqué esto y aquello, probé varias cosas, busqué cosas y durante una carrera hice esto:

tell application "System Events"
    set myTargetApplication to name of the first process whose frontmost is true
end tell

tell application myTargetApplication
    --  This line is what we use when we need to grab that bounds of a window.
    -- set currentBounds to bounds of the first window
    set bounds of the first window to {1299, 38, 3182, 1062}
end tell

Hice lo mismo en Automator ... guardado como un servicio ... y ahora funcionan.

EXACTAMENTE QUE QUIERO.

No me estoy quejando ... simplemente estoy perdido ...

No veo POR QUÉ funcionan. Espero que alguien pueda señalar qué los hace funcionar para poder entender mejor AppleScript.

Gracias de antemano

    
pregunta randomblink 13.03.2016 - 05:54

2 respuestas

3

El rectángulo más pequeño que contiene ambos monitores "reales" es su escritorio virtual.

La esquina superior izquierda del monitor que contiene la barra de menú es la coordenada (0 | 0). Moverse hacia la derecha y hacia abajo aumenta los números.

Si tiene un monitor (1920 | 1200), la esquina superior izquierda es (0 | 0) y la esquina inferior derecha tiene la coordenada (1920 | 1200) y todo el escritorio se describe mediante {0, 0, 1920, 1200}

Si tiene dos monitores del mismo tamaño (1920 | 1200) dispuestos uno al lado del otro y el monitor izquierdo es su monitor principal, las coordenadas del escritorio completo son {0, 0, 3840, 1200} . Si el monitor derecho es el principal: {-1920, 0, 1920, 1200} .

Si tiene dos monitores de diferentes tamaños (1920 | 1200) y (2000 | 1400) dispuestos con una compensación (por ejemplo, la esquina inferior derecha del monitor pequeño (1920 | 1200) está justo al lado de la esquina superior izquierda (0 | 0) del otro monitor y el izquierdo es el principal) luego el escritorio se describe por {0, 0, 3920, 2600} . Si el monitor correcto es el monitor principal, todo el escritorio está representado por {-1920, -1200, 2000, 1400} .

Entonces su ventana {1299, 38, 3182, 1062} en el arreglo marcado en negrita se vería así:

    
respondido por el klanomath 13.03.2016 - 07:42
2

Más para agregar a lo que dijo klanomath que para intentar proporcionar otra respuesta casi idéntica ...

El valor de la propiedad de los límites se devuelve como una lista de cuatro elementos de enteros que representan el área de la ventana como esta: {72, 90, 512, 481}

  • Elemento de la lista 1: { 72 , 90, 512, 481}
    La distancia en píxeles desde el lado izquierdo de la pantalla al lado izquierdo de la ventana del Finder.
  • Elemento de la lista 2: {72, 90 , 512, 481}
    La distancia en píxeles desde la parte superior de la pantalla hasta la parte superior de la ventana del Finder.
  • Elemento de la lista 3: {72, 90, 512 , 481}
    La distancia en píxeles desde el lado izquierdo de la pantalla al lado derecho de la ventana del Finder.
  • Elemento de la lista 4: {72, 90, 512, 481 }
    La distancia en píxeles desde la parte superior de la pantalla hasta la parte inferior de la ventana del Finder.

Fuente: enlace
que es un gran recurso para aprender Applescript.

    
respondido por el Tetsujin 13.03.2016 - 09:44

Lea otras preguntas en las etiquetas