Wie kann man in OS X mit Tastenkombinationen zu einem bestimmten Fenster wechseln (im Gegensatz zur Programmumschaltung)?

4

An einem normalen Tag habe ich mehrere verschiedene Fenster aller meiner Anwendungen geöffnet. Der Einfachheit halber möchte ich ein einfaches Beispiel nennen:

  1. Chrome Eine linke Seite des Bildschirms (Dokumentation)
  2. Chrome B, rechte Seite des Bildschirms (Anzeigeergebnis)
  3. Terminal A linke Seite des Bildschirms (der Webserver, nützlich beim Anzeigen von Ergebnissen)
  4. Terminal B auf der rechten Seite des Bildschirms (Codefenster, ich brauche die Dokumentation Chrom, wenn Sie dies verwenden).

Gibt es eine Tastenkombination, mit der Sie Chrome A in den Vordergrund verschieben können, ohne Chrome B ebenfalls in den Vordergrund zu verschieben?

  • Mit Apple-Tab wechselt es die Anwendung und verschiebt beide in den Vordergrund.
  • Mit Apple-`wird das Fenster zwischen den Anwendungen umgeschaltet, sodass dies ebenfalls nicht funktioniert.

Gibt es eine Tastenkombination, um dies zu tun?

Gewünschtes Verhalten: Chrome A mit Terminal B und Chrome B mit Terminal A anzeigen

Beachte, dass ich nach Tastaturkürzeln suche, KEINE Mausklicks :)

Wolph
quelle

Antworten:

4

Sie können Witch verwenden , um nur bestimmte Fenster auszuwählen und zu öffnen.

Dies würde normalerweise das zweite Fenster in der Erstellungsreihenfolge fokussieren:

set text item delimiters to linefeed
tell application "Google Chrome"
    reopen
    do shell script "sort -n <<< " & quoted form of (id of windows as text) & " | sed -n 2p"
    tell window id (result as integer) to set index to 1
end tell
tell application "System Events" to tell process "Google Chrome"
    perform action "AXRaise" of window 1
end tell
do shell script "open -a google\\ chrome"

set frontmost to trueund activatewürde auch andere Fenster öffnen. set index to 1Das Fenster wird nicht angehoben, es wird jedoch als Fenster 1 für Systemereignisse angezeigt, die dies können AXRaise. In dieser Antwort finden Sie verschiedene Möglichkeiten zum Zuweisen von Verknüpfungen zu Skripten.

Dies würde ein Fenster anhand der URLs der Registerkarten auswählen:

tell application "Google Chrome"
    repeat with w in windows
        tell w
            repeat with t in tabs
                if URL of t contains "google" then
                    set index to 1
                    exit repeat
                end if
            end repeat
        end tell
    end repeat
end tell
Lri
quelle
Super, vielen Dank für die tolle Resonanz!
Wolph
Ab 10.9 Mavericks ist perform action "AXRaise" of window 1eine ausdrückliche Erlaubnis erforderlich, um ausgeführt zu werden. Diese Meldung wird angezeigt: "Ihre App möchte diesen Computer mithilfe von Eingabehilfen steuern."
Fregante