0 votos

establecer la posición {0,0} del elemento accessibillityTitle mediante Applescript

Tengo un elemento de interfaz de usuario llamado accessibillityTitle con valor Layers y quiero posicionar este elemento en la esquina superior derecha, pero no sé cómo acceder a él mediante Applescript. He encontrado el elemento usando Accessibility Inspector y aquí 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 utilizar set position to {1280, 0} a este elemento?

1voto

zonble Puntos 2925

En realidad, me enfrenté a un caso similar, cuando quise mover un diálogo previamente generado a la esquina superior derecha de mi pantalla.
Sólo conseguí hacerlo a través de un segundo script que se lanzó simultáneamente pero tenía un bucle de "no repetir nada hasta" incorporado para esperar la aparición del diálogo. En mi experiencia, no importaba lo que intentara, el diálogo obstaculizaba un "in-scripten movimiento" mientras su ventana permanecía abierta ...
(He adjuntado ambos a una carpeta: sólo tenía que añadir el nº 2 a su lista).

En 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

Puedes ver que hay un retardo (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, establezca un valor más alto, por ejemplo: 0,5).
Mi solución "Descargas recientes" #2 para Safari se puede encontrar AQUÍ .

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X