imposta la posizione {0,0} dell'elemento accessibillityTitle tramite Applescript

0

Ho un elemento dell'interfaccia utente chiamato accessibillityTitle con valore Layers e voglio posizionare questo elemento nell'angolo in alto a destra, ma non so come accedervi tramite Applescript. Ho trovato l'elemento usando Accessibility Inspector ed ecco come appare il 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

Come posso usare set position to {1280, 0} per questo elemento?

    
posta mvaneijgen 20.09.2015 - 14:39
fonte

1 risposta

1

In realtà mi sono occupato di un caso simile, quando volevo spostare una finestra di dialogo precedentemente generata nell'angolo in alto a destra del mio schermo.
Sono riuscito a farlo solo attraverso un secondo script che è stato lanciato simultaneamente , ma aveva un "ripetere niente fino al" ciclo integrato per attendere il popup di dialogo. Nella mia esperienza, a prescindere da quello che ho provato, la finestra di dialogo avrebbe ostacolato uno "spostamento in-script" mentre la sua finestra rimaneva aperta ...
(Ho allegato entrambi a una cartella: ho dovuto aggiungere solo # 2 alla sua lista.)

Nello script n. 1 il comando finale recita:

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

Il 2 °:

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

Puoi vedere che c'è un (minuto) ritardo dopo "ripetere-nulla". Anche in attesa di 0.1 secondi, a volte il mio MacMini è così occupato che il ritardo è troppo breve e il dialogo rimane centrato ...
(Per assicurarsi di impostare un valore più alto, dire: 0.5.)
I miei "Download recenti" Soluzione alternativa # 2 per Safari può essere trovata QUI .

    
risposta data 16.12.2015 - 22:19
fonte

Leggi altre domande sui tag