Riduce a icona tutti tranne l'attivo delle finestre dell'applicazione corrente

1

Passo, ad esempio, a Safari e trovo la finestra che voglio. Posso Command-Option-H per nascondere tutte le altre applicazioni, ma io anche voglio minimizzare tutte le finestre di Safari tranne quella che sto usando (quella più in primo piano).

C'è un modo per farlo? Si accontenterebbe di un AppleScript che posso attivare con Keyboard Maestro.

    
posta Alesh Houdek 28.06.2016 - 00:49
fonte

1 risposta

1

Ecco un AppleScript che raggiunge i risultati di ciò che originariamente chiedevi esplicitamente e in particolare, prima di modificare la domanda dopo che gli era stata data una risposta.

tell application "Safari"
    activate
    tell application "System Events"
        keystroke "h" using {command down, option down}
    end tell
    set miniaturized of (windows whose index is not 1) to true
end tell

Nota: il precedente AppleScript funziona per me con OS X 10.8.5 e Safari 6.2.8, ma non l'ho testato su nessuna altra versione di OS X. Detto questo, credo che funzionerà bene su altre versioni del sistema operativo X.

Aggiornamento per indirizzare la modifica della domanda originale:

Ho giocato un po 'con metodi diversi e quello che ho trovato è stato, nei modi in cui ho provato, la maggior parte delle app ha funzionato mentre altre no. In altre parole, non ho trovato un metodo universale che funzionasse con tutte le app che normalmente eseguo. Quindi, aggiungo un blocco di codice che puoi provare e vedere se può funzionare per te.

Idealmente nascondendo semplicemente tutte le altre app e riducendo al minimo le finestre non attive dell'app corrente in modo da avere un aspetto fluido in azione, ciò che si desidera tuttavia Finder ha presentato una sfida. Quindi in questo esempio il code Finder deve minimizzare prima tutte le finestre e riportare quello che era il primo, mentre altre app hanno un buon effetto a cascata per ridurre al minimo le finestre non attive lasciando le finestre in primo piano così com'è.

tell application "System Events"
    set frontApp to name of first application process whose frontmost is true
    set windowName to name of first window of application process frontApp
end tell

if not frontApp is "Finder" then
    tell application frontApp
        activate
        tell application "System Events"
            keystroke "h" using {command down, option down}
        end tell
        set miniaturized of (windows whose name is not windowName) to true
    end tell
else
    tell application frontApp
        activate
        tell application "System Events"
            keystroke "h" using {command down, option down}
            keystroke "m" using {command down, option down}
            tell process frontApp to click menu item windowName of menu 1 of menu bar item "Window" of menu bar 1
        end tell
    end tell
end if
    
risposta data 29.06.2016 - 19:48
fonte

Leggi altre domande sui tag