Attiva il desktop usando Applescript

1

Fondamentalmente, ho questo breve script per "ripulire" il desktop. Questo è il codice:

tell application "System Events"
    tell application "Finder" to activate desktop
    delay 0.1
    tell process "Finder" to click menu item "Clean Up" of menu "View" of menu bar item "View" of front menu bar
end tell

Lo script funziona bene quando non ci sono finestre del Finder aperte. Tuttavia, se esiste almeno una finestra del Finder, quando viene eseguita la riga tell application "Finder" to activate desktop , renderà attiva la finestra, anziché il desktop.

Qual è la ragione di questo? E qual è il modo corretto di mettere a fuoco il desktop (lo stesso effetto del fare clic sull'immagine del desktop)?

(Facendo questo su El Capitan)

    
posta CrazyJony 11.12.2015 - 03:19
fonte

2 risposte

0

Ecco un codice che potrei fare funzionare sul mio "Capitan":

tell application "System Events"
  tell application "Finder" to activate
  repeat while (value of attribute "AXfocused" of group 1 of scroll area of ¬
     process "Finder" is {false})
        keystroke "<" using command down
  end repeat
end tell

Il ciclo ripetuto controlla se "gruppo 1 dell'area di scorrimento" - che con mia sorpresa "è" Desktop - è "AXFocused" (che significa "finestra" attiva del cercatore).
Se NON così, i tasti "cmd <" (su una tastiera tedesca), che è identico al cercatore:
< menu: "Windows" / "Finestra successiva" > voce di menu Vedrai alcune o tutte le finestre portate in primo piano .

(Ho provato tutti i tipi di "clic", "seleziona" e simili in anticipo senza alcun risultato ...)

    
risposta data 22.12.2015 - 14:29
fonte
0

Potresti dire a Finder di ridurre a icona tutte le finestre di:

tell every window
    set collapsed to true
end tell

Quindi activate desktop e il solito.

    
risposta data 11.12.2015 - 21:42
fonte

Leggi altre domande sui tag