Czy istnieje skrót lub coś takiego, aby wysłać aktualnie aktywne okno z tyłu ekranu, jednocześnie pozostawiając je otwarte (tak, aby znalazło się „pod” wszystkimi innymi otwartymi oknami)?
Czy istnieje skrót lub coś takiego, aby wysłać aktualnie aktywne okno z tyłu ekranu, jednocześnie pozostawiając je otwarte (tak, aby znalazło się „pod” wszystkimi innymi otwartymi oknami)?
Odpowiedzi:
Krótka odpowiedź: Nie , Apple nie zapewnia interfejsu API, który pozwala na zmianę indeksu okna aplikacji, z wyjątkiem przeniesienia okna do przodu (indeks 1). Nie ma eleganckich rozwiązań . Ale:
Długa odpowiedź: tak , możesz użyć AppleScript, aby skutecznie przenieść okno na tył stosu okien obsługujących AppleScript, zbierając listę okien, a następnie szybko przesuwając każde ( z wyjątkiem skrajnego przodu) do przodu, pozostawiając wybrane okno z tyłu.
Oto przykład AppleScript, który wysyła okno Findera z przodu do tyłu.
tell application "Finder"
set winList to every window whose visible is true
if not winList = {} then
repeat with oWin in (items 1 through -2 of reverse of winList)
set index of oWin to 1
end repeat
end if
end tell
Ten skrypt jest oparty na rozwiązaniu JMichaelTX omawianym na forum KeyboardMaestro.
Przetasowanie jest niezwykle szybkie, ale w Edytorze skryptów możesz sprawdzić, jak to działa, pozostawiając „506” na dole i wyskakując „502-505” w sposób, który zachowuje ich kolejność:
get every window whose visible = true
--> {Finder window id 506, Finder window id 505, Finder window id 504, Finder window id 503, Finder window id 502}
set index of Finder window id 502 to 1
--> 1
set index of Finder window id 503 to 1
--> 1
set index of Finder window id 504 to 1
--> 1
set index of Finder window id 505 to 1
--> 1
Możesz zamapować ten AppleScript na usługę lub skrót klawiaturowy, albo a) wprowadzając skrypt w akcję Uruchom AppleScript w usłudze Automator lub b) używając programu uruchamiającego (Alfred, Keyboard Maestro itp.). Aby uzyskać szczegółowe informacje na temat przypisywania klawiatury Applescript, zobacz: Jak przypisać skrót klawiaturowy do napisanego kodu AppleScript?
Może to zaspokoić potrzeby OP - nie jest jasne z oryginalnego postu. To rozwiązanie można również rozszerzyć na wiele aplikacji obsługujących AppleScript. Ja nie , jednak świadomość rozwiązania, aby efektywnie pracować z mieszanką skrypty i non-skrypty okien, ze względu na fakt, że w AppleScript, System Events
adresowalnych szyby do zastosowań innych niż skrypty nie mają set index
czasownik / nieruchomość. Dla niektórych okien istnieje akcja „AXRaise”, gdy urządzenia pomocnicze / dostępność są włączone, ale nie dotyczy to również wszystkich okien. Istnieją skomplikowane włamania, które polegają na przejściu przez każdą aktywną aplikację i pokazaniu / ukryciu lub zminimalizowaniu / przywróceniu okien, ale są bałaganem.
Powiązane dyskusje:
Twoje pytanie nie jest zbyt jasne, ale jeśli chcesz, aby skrót przechodził między wszystkimi oknami aktualnie aktywnej aplikacji, powinieneś być w stanie to zrobić za pomocą Command~skrótu klawiaturowego.
~Klucz zazwyczaj znajduje się na lewo od 1klucza.
Aby wyjaśnić, Command~skrót klawiszowy polega na przewijaniu przez wszystkie okna bieżącej aplikacji, w której się znajdujesz. Na przykład, jeśli używasz MS Word i masz otwarte trzy dokumenty, przejdzie przez te trzy dokumenty.
Jednak Command~skrót klawiaturowy nie przełącza się między kartami. Na przykład, jeśli masz Safari otwarte z trzema oknami, a każde okno ma pięć otwartych kart, użycie tego skrótu spowoduje przełączanie między trzema oknami, a nie poszczególnymi kartami.
Inną opcją, która może osiągnąć to, co chcesz, jest CommandMskrót klawiaturowy. Jednak minimalizuje to obecnie aktywne okno Docka, więc podejrzewam, że nie tego chcesz.
Jeśli całkowicie źle zrozumiałem twoje pytanie, proszę wyjaśnij.