Come passare alla finestra modale in background

0

Non so se questo problema è specifico di Quicksilver o di un problema generale con Windows modale. Io uso QS per lanciare un applescript:

"run 'command' with administrator privileges"

Ma la finestra modale da QS per inserire la mia password appare senza messa a fuoco. Non posso aver bisogno di cliccare sulla finestra con il mouse per poterlo attivare. Immagino che questo sia dovuto al fatto che QS ha lanciato il applescript "in background" e ha già restituito il focus all'app precedente.

C'è un modo per passare a questa finestra modale usando le azioni della tastiera? È qualcosa che devo fare ogni mattina ed è molto fastidioso dover passare ad esso con il mouse ogni volta. Non posso usare la scheda di comando su Quicksilver quando la finestra di dialogo è attiva.

    
posta Zac Thompson 21.06.2013 - 18:18
fonte

2 risposte

0

La soluzione era ovvia una volta che l'ho vista: prima crea Quicksilver l'app in primo piano, quindi non restituirà lo stato attivo a un'altra app quando lo script viene eseguito.

tell application "Quicksilver" to activate
do shell script "pmset -c displaysleep 180" with administrator privileges
    
risposta data 24.06.2013 - 20:23
fonte
2

È possibile mettere a fuoco SecurityAgent:

osascript -e 'do shell script "ls /var/root" with administrator privileges' &
open -a SecurityAgent

Visualizzazione delle finestre di dialogo:

tell application (path to frontmost application as text)
    --activate
    display dialog "" default answer ""
end tell

^ F6 (Sposta lo stato attivo sulla finestra mobile) non funziona con le finestre di dialogo della password, e anche Witch non le include. Puoi usare uno script come questo però:

tell application "System Events"
    repeat with p in {"SecurityAgent", "CoreServicesUIAgent", "loginwindow"}
        if exists process p then
            tell process p
                if windows is not {} then
                    set frontmost to true
                    exit repeat
                end if
            end tell
        end if
    end repeat
end tell

CoreServicesUIAgent mostra le finestre di dialogo Gatekeeper e Quarantine. loginwindow visualizza molte delle finestre di dialogo mostrate al momento del logout.

    
risposta data 22.06.2013 - 01:43
fonte

Leggi altre domande sui tag