Applescript: il comando di attivazione rende l'applicazione "semi-attiva"

1

Che cosa ho fatto:

Usando questo link,

Ho creato il seguente codice di applicazione:

tell application "System Events"
    click (first button whose subrole is "AXZoomButton") of (first window whose subrole is "AXStandardWindow") of (first process whose frontmost is true)
    set frontApp to (name of first application process whose frontmost is true) as string
    tell application frontApp to activate
end tell

Questo codice mi consente di "premere" il pulsante verde nell'angolo in alto a sinistra della finestra.

Eseguo il codice, utilizzando Alfred.

(Mountain Lion 10.8.4, Alfred 2.0.6)

Che cosa succede:

Lo zoom funziona bene, ma

  1. la finestra ingrandita dell'applicazione perde lo stato attivo.
  2. i tre pulsanti, rosso, giallo e verde, nell'angolo in alto a sinistra della finestra sono tutti attenuati in grigio dopo l'esecuzione del codice.
  3. la barra dei menu mostra ancora il titolo dell'applicazione, a indicare che l'applicazione è ancora in primo piano.

(In questo senso, la finestra è "parzialmente attivata"?)

Se faccio clic sulla finestra, questi pulsanti tornano alla normalità, mostrando rosso, giallo e verde.

Cosa voglio:

Voglio mantenere l'attenzione sulla finestra dell'applicazione ingrandita dopo aver eseguito il codice usando Alfred.

Qualcuno può aiutarmi, per favore?

    
posta T_T 07.08.2013 - 12:19
fonte

1 risposta

2

Sposta il comando activate all'esterno del blocco tell application "System Events" :

tell application "System Events" to tell (process 1 where frontmost is true)
    click (button 1 where subrole is "AXZoomButton") of window 1
end tell
activate application (path to frontmost application as text)

Oppure potresti semplicemente rimuovere completamente il comando activate .

    
risposta data 07.08.2013 - 15:59
fonte

Leggi altre domande sui tag