establecer la posición {0,0} del elemento accessibillityTitle a través de Applescript

0

Tengo un elemento de la interfaz de usuario llamado accessibillityTitle con el valor Layers y quiero colocar este elemento en la esquina superior derecha, pero no sé cómo acceder a él a través de Applescript. He encontrado el elemento utilizando Accessibility Inspector y aquí es cómo se ve el resto.

AXApplication
    AXWindow:AXDialog
Attributes
    isAccessibilityFocused  NO
    accessibilityTitle  Layers
    accessibilityGrowArea   <nil>
    accessibilityMinimizeButton <nil>
    accessibilityDocument   <nil>
    accessibilityCloseButton    <nil>
    isAccessibilityMain NO
    accessibilityFullScreenButton   <nil>
    accessibilityProxy  <nil>
    accessibilityDefaultButton  <nil>
    isAccessibilityMinimized    NO
    accessibilityChildren   10 items
    accessibilityRole   AXWindow
    accessibilityParent <AXApplication>
    accessibilityTitleUIElement <nil>
    accessibilityCancelButton   <nil>
    isAccessibilityModal    NO
    accessibilitySubrole    AXDialog
    accessibilityZoomButton <nil>
    accessibilityRoleDescription    dialog
    accessibilityToolbarButton  <nil>
    accessibilityFrame  x=1038.00 y=23.00 w=240.00 h=773.00
    accessibilityIdentifier com.pixelmatorteam.pixelmator.layers.palette
Actions
    accessibilityPerformRaise

¿Cómo puedo usar set position to {1280, 0} para este elemento?

    
pregunta mvaneijgen 20.09.2015 - 14:39

1 respuesta

1

En realidad traté un caso similar, cuando quise mover un diálogo generado anteriormente a la esquina superior derecha de mi pantalla.
Solo logré hacerlo a través de un segundo script que se lanzó simultáneamente , pero tenía un bucle de "no repetir hasta que" integrado para esperar el diálogo emergente. En mi experiencia, sin importar lo que intenté, el diálogo dificultaría un "movimiento de script" mientras su ventana permaneció abierta ...
(adjunté ambos a una carpeta: solo tuve que agregar # 2 a su lista.)

En el script # 1, el comando final dice:

tell application "Finder" to display dialog DL_display as string with ¬
  title "Recent downloads" buttons {"Close"} default button 1

El segundo:

tell application "Finder"
    set screenRgt to bounds of the window of desktop  --> independent of
    set rightEdge to (item 3 of screenRgt) - 425      --> screen resolution
end tell
tell application "System Events" to tell process "Finder"
    repeat while not (exists window "Recent downloads")
    end repeat
    delay 0.1
    set position of window "Recent downloads" to {rightEdge, 61}
end tell

Puede ver que hay un retraso (de un minuto) después de "repetir-nada". Incluso esperando 0.1s a veces mi MacMini está tan ocupado que el retraso es demasiado corto, y el diálogo permanece centrado ...
(Para asegurarse de establecer un valor más alto, diga: 0.5.)
Se puede encontrar mi "Solución de descargas recientes # 2 para Safari AQUÍ .

    
respondido por el clemsam lang 16.12.2015 - 22:19

Lea otras preguntas en las etiquetas