Minimieren Sie andere Fenster einer Anwendung

Ist es möglich, das Äquivalent von "Andere Anwendungen ausblenden" für Windows derselben Anwendung auszuführen?

Angenommen, ich habe ungefähr 4 Hauptfenster für Chrome geöffnet und jedes hat 10 Registerkarten. Ich möchte zu Fenster 3 von Chrome wechseln und die anderen Chrome-Fenster (Fenster 1, 2 und 4) ausblenden. Im Wesentlichen möchte ich in den anderen "Fenstern" ein CMD + M drücken.

( Dies unterscheidet sich von anderen Anwendungen minimieren/ausblenden, die es mir ermöglichen würden, zu Safari zu wechseln und andere Anwendungen wie Chrome auszublenden ).

Eine Tastenkombination wäre großartig, aber flüchtiges Googeln sagt mir, dass ich mich mit einem Applescript begnügen muss?

Beifall.

Antworten (1)

Dies funktioniert nicht mit der Vorschau oder anderen Anwendungen, die AppleScript nicht unterstützen.

tell application (path to frontmost application as text)
    try
        set miniaturized of windows where visible is true and index is not 1 and miniaturizable is true to true
    end try
    try -- at least Finder
        set collapsed of windows where visible is true and index is not 1 and closeable is true to true
    end try
end tell

Ich weiß nicht, wie ich das fokussierte Fenster oder ausgeblendete Fenster mit Systemereignissen bekomme. Das fokussierte Fenster ist nicht Fenster 1 oder AXMain oder AXFocused. Das Setzen von AXMinimized auf true funktionierte auch nicht mit Tweetbot.

tell application "System Events" to tell (process 1 where frontmost is true)
    windows where value of attribute "AXMinimized" is false
    --repeat with w in result
    --try
    --set value of attribute "AXMinimized" of w to true
    --end try
    --end repeat
end tell

Es gibt viele Möglichkeiten, Skripts Kurzbefehle zuzuweisen , aber Kurzbefehle für Automator-Dienste funktionieren in 10.7 oder 10.8 nicht zuverlässig.