現在アクティブなウィンドウを背面に送るにはどうすればよいですか?


15

現在開いているウィンドウを開いたまま(他のすべての開いているウィンドウの「下」に移動するように)、現在アクティブなウィンドウを画面の背面に送るショートカットなどはありますか?


2
Hは、現在のアプリ(そのすべてのウィンドウを含む)を背面に送り、前面から(ドックから、または-TABでアプリを再選択して)戻すまで非表示にします。ほとんどのアプリケーションでは、Shift--〜は現在のアプリのウィンドウを循環します。これはおそらく、探しているものに最も近いウィンドウです。
マイクチャンネル

私はそれについて知っています、それは私が望むものではありません。

1
奥まで送りたい場合は、どのウィンドウに焦点を合わせる必要がありますか?前に選択したウィンドウ?
sayzlim 2016年

回答:


10

簡単な答え:いいえ、Appleは、ウィンドウを前面(インデックス1)にすることを除いて、アプリケーションウィンドウのインデックスを変更できるAPIを提供していませんエレガントなソリューションはありません。だが:

長い答え:はい、AppleScriptを使用して、ウィンドウのリストを収集し、選択したウィンドウを残して、ウィンドウのリストを収集し、最前面(最前面を除く)にすばやく移動することにより、ウィンドウをAppleScript対応ウィンドウのスタックの後ろ効率的に移動できます。後方に。

以下は、最前面のFinderウィンドウを背面に送るAppleScriptの例です。

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

このスクリプトは、KeyboardMaestroフォーラムで議論されたJMichaelTXによるソリューションに基づいています

再シャッフルは信じられないほど高速ですが、スクリプトエディターでは、その動作を検査して、 "506"を下部に残し、 "502-505"をポップして順序を維持することができます。

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

このAppleScriptをサービスまたはキーボードショートカットにマッピングするには、a)Automatorサービス内でスクリプトをRun AppleScriptアクションに配置するか、b)ランチャー(Alfred、Keyboard Maestroなど)を使用します。Applescriptキーボード割り当ての詳細については、私が作成したAppleScriptにキーボードショートカットを割り当てるにはどうすればよいですか?

これはOPのニーズを満たす可能性があります-元の投稿からは不明です。このソリューションは、複数のAppleScript対応アプリケーションに拡張することもできます。私はない、しかし、それはAppleScriptの中で、という事実のため、スクリプトと非スクリプト可能窓のミックス、と効果的に動作させるための解決策を知っSystem Events非スクリプト可能なアプリケーションのためのアドレス指定可能な窓が持っていないset index動詞/プロパティを。支援装置/アクセシビリティがオンの場合、一部のウィンドウには「AXRaise」アクションが存在しますが、これはすべてのウィンドウに適用されるわけではありません。各アクティブなアプリケーションをウォークスルーし、ウィンドウを表示/非表示または最小化/復元するという複雑なハックが存在しますが、それらは混乱します。

関連するディスカッション:


特定のアプリのウィンドウではなく、任意のアプリのウィンドウを背面に送ることはできますか?
Di Liu

悲しいことに、モハベの時点では、これはもはや機能しないようです。
Edward Falk

Mojave以降、私の理解では、AppleScriptでFinderを制御するためには、実行する(テストされていない)権限が必要になります。errAEEventNotPermittedのようなエラーが発生する場合は、これらの権限を追加するための解決策があります-関連するディスカッションを参照してください:forums.developer.apple.com/thread/106949
JeremyDouglass

2

あなたの質問はあまり明確ではありませんが、現在アクティブなアプリのすべてのウィンドウを切り替えるショートカットが必要な場合は、Command~キーボードショートカットでこれを実行できるはずです。

~キーは通常の左側に位置しています1キー。

明確にするために、Command~キーボードショートカットは、現在のアプリのすべてのウィンドウを循環します。たとえば、MS Wordを使用していて、3つのドキュメントを開いている場合、これらの3つのドキュメントを循環します。

ただし、Command~キーボードショートカットはタブを循環しません。たとえば、3つのウィンドウでSafariを開いており、各ウィンドウに5つのタブが開いている場合、このショートカットを使用すると、個々のタブではなく3つのウィンドウが順に切り替わります。

あなたが望むものを達成するかもしれないもう一つのオプションはCommandMキーボードショートカットです。ただし、これにより、現在アクティブなウィンドウがDockに最小化されるため、それはあなたが望むものではないのではないかと思います。

質問を完全に誤解した場合は、明確にしてください。


これはOPが必要とするユースケースだと思います:メッセージアプリをメールアプリの前で開いていて、メールアプリをすばやくフォアグラウンドにして、メッセージをバックグラウンドに送信したい場合、キーボードを使用できますショートカットとメッセージアプリはメールアプリの背後にあります。私はあなたのキーボードショートカットを試してみましたが、これはそれを達成しませんでした。
フクロウスワイプ2016年

私はあなたが `キーを意味すると思います。Shiftキーを保持していると`押されたときに〜にのみ印刷されます
クラウダー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.