Mavericksが2番目の画面でアプリを開くのを停止しますか?


15

これまでのところ、MacBook Proを使用して外部ディスプレイを接続しました。ただし、Mavericksは、現在アクティブな(キーおよびメイン)ウィンドウ/アプリがメインディスプレイにある場合でも、セカンダリディスプレイで新しいアプリケーションを開くことを要求しているようです。画面サイズが異なり、保存したウィンドウサイズがひどく乱れるため、非常にイライラします。マーベリックスがそうするのを止める方法はありますか?メインディスプレイでのみアプリを開くか、少なくとも前回閉じたディスプレイでアプリを覚えておく必要があります。

それが役立つ場合、これはシステム設定からの私のディスプレイ配置です: ここに画像の説明を入力してください


他のディスプレイをプライマリディスプレイにする必要があるかもしれません。こちらをご覧
konqui

クリーンインストールで試してみましたが、それでも同じ問題があります。それはバグであり、意図的なものではないため、レーダーを提出しました。
JustSid

回答:


16

私は会議室のプロジェクターや解像度の異なる大画面に接続するのに慣れているので、一日中部屋から部屋へと移動するにつれて、窓も絶えずリサイズする必要があります。だからあなたの痛みを感じます。:-)

混乱を避けるために、この回答にいくつかの用語を定義します。

  • プライマリディスプレイは、システム環境設定の配置タブでメニューバーを有するものです。
  • メインディスプレイは、それがプライマリディスプレイであるかどうか、あなたは上のものをしたいものです。
  • セカンダリディスプレイには、システム環境設定の配置タブでメニューバーのないものです。

基本的に、問題はメインディスプレイとプライマリディスプレイの間に重要な違いが見えることです。Mac OS Xはそうではなく、セカンダリディスプレイをメインディスプレイとして扱うことでこの区別を維持しようとすると、あなたと戦うことになります。

特に別の方法を試みない限り、アプリは主ディスプレイが何であっても常に開きます。これは、定義上、プライマリディスプレイの特徴の1つです。(Quartz APIの非常に低レベルの部分、特にCGConfigureDisplayOrigin呼び出しであるため、アプリ自体で設定できない場合、この動作は構成できません。)

接続時にメインディスプレイをプライマリディスプレイとして維持しないように、あなたにとって面倒なこと(「コメントに入れて他のことを混乱させる」こと)について質問することをお勧めします。 ; この動作はそうではありません。

ただし、役に立つかもしれないいくつかのトリックがあります:

ディスプレイミラーリングしてからミラーリング解除すると、すべてのウィンドウが大きすぎて小さい画面に収まらないため、すべてのウィンドウがプライマリディスプレイに収まるようにサイズが変更されます。セカンダリディスプレイに表示したいので、これは完璧なソリューションではありませんが、次のトリックと組み合わせると、特にキーボードショートカット⌘-F1を知っている場合に便利な回避策になります。それを押し、システムをミラーリングに切り替え、もう一度押します。すべてのウィンドウのサイズが最小のディスプレイに変更され、プライマリディスプレイに表示されます。

この問題を回避するためのもう1つの非常に便利なツールはBetterTouchToolです。これにより、「次のモニターの中央ウィンドウ」および「次のモニターにウィンドウを最大化」ジェスチャーを設定できます。これらをそれぞれ4本指と5本指のクリックに割り当て、トラックパッドをマッシュするだけで、あるモニターから別のモニターにウィンドウをすばやく開くことができます。(大きなディスプレイに接続しているときにトラックパッドを使用しない場合、BTTは他のポインティングデバイスでもジェスチャーを実行できます。)

これらの2つのトリックを組み合わせることで、絶えず変化する解像度での作業は完璧ではなく、少なくとも許容できるものになりました。すべてのウィンドウをセカンダリディスプレイに表示する場合(たとえば、トレーニングセッションを行い、学生にメニューバーを表示したいが、トレーニングに関連しないすべてのウィンドウを他のディスプレイに表示したい場合) 、ミラー/ミラー解除のトリックを行い、ウィンドウがすべてポップされるまで、トラックパッドを4本指でスマックします。

最後に、いじるのが好きなら、すべてのウィンドウを別の方法でプライマリに移動するこのApplescriptご覧ください。副作用としてウィンドウをプライマリに移動するミラーリング方法とは異なり、これは明示的にそれを行うため、ウィンドウを好みのメイン、セカンダリ、ディスプレイに移動するように変更できます。しかし、それは簡単ではありません。これは、すべてがこの使用法に対してあなたと戦っている理由のアイデアをあなたに与えるかもしれません。このApplescriptの重要な行は次のとおりです。

set position of window x to {0, 22}

メニューバーは22のディスプレイ座標(Retinaディスプレイの前は「ピクセル」であったもの)であり、画面とウィンドウの原点は左上にあるため、この行はウィンドウxをメニューバーの右下に移動し、左にフラッシュします。代わりにすべてのウィンドウをセカンダリディスプレイの左上に移動するようにこのスクリプトを調整するには、その座標を把握し、それをx値として使用する必要があります。スクリーンショットに表示される配置では、メニューバーの左側にいるため、そこの「0」は負の数値に置き換えられます。特に配置に関係なくスクリプトを動作させたい場合は、うまくいくのに多少の手間がかかります。

これはすべて厄介です、私は知っています。メインディスプレイとプライマリディスプレイを異なるものにしたい場合は、クラッジを受け入れる必要があります。そのため、この特定の戦いと戦うのではなく、他のディスプレイをプライマリにすることを妨げているものに取り組むことを強くお勧めします。


混乱して申し訳ありませんが、メインディスプレイをメインディスプレイにしたいということです(おもしろいことに、プライマリディスプレイがメインディスプレイですCGDisplayID
。CoreGraphics

@JustSid-興味深いことに、アプリは上の一番左の画面で開いていると言っているのですか?それは単なる奇妙であり、私はそれを複製することはできません-私が述べたように、メインウィンドウの特定の動作の1つは、アプリがデフォルトで新しいウィンドウを開く場所です。私が考えることができるのは、ディスプレイが上にフラッシュしないようにディスプレイを押し下げてみることだけですか?これがなぜ起こるのかについては説明がありませんが、おそらくメインディスプレイをy軸上で高くすると役立つでしょう。私はそれを複製することはできないと言ったが、それが(奇妙なことに)それが原因であるかどうかを試す小さな外部ディスプレイはない。
トレイ

はい、それはまさに問題です。大きいメインディスプレイで開くようにしたいのに、すべてが小さいセカンダリ画面で開きます。ただし、セカンダリディスプレイを少し下に配置し直すと問題は解決しました。あなたがそのアイデアを得た場所はわかりませんが、素晴らしいです、ありがとうございました!私のレーダーを更新して、それが10.9.1で修正されることを願っています(10.7-10.8の間は存在しませんでした)。
JustSid

@JustSid「アプリは上の一番左の画面で開いていると言っているのですか?」同じ問題があります:アプリとドキュメントがセカンダリディスプレイで開きます。
bames53

5

Mavericksでは、アクティブモニターと非アクティブモニターに区別があります。メニューバーを見ると、どのモニターがアクティブになっているかがわかります(新しいMavericksスペースの動作を使用していると思います)。両方の画面で比較すると、一方がフェードアウトし、もう一方がほとんど不透明になります。ほとんど不透明なものがアクティブになり、他の画面に同じアプリの他のウィンドウがない限り、不透明なメニューバー画面で新しいアプリケーションウィンドウが画面に開きます。

それで、どのスクリーンがアクティブかをどのように変更できますか?

ウィンドウを開く画面上のデスクトップ上の任意の場所を押すだけです。これにより、画面のメニューバーがほぼ不透明になり、ウィンドウを開くと画面上で開かれます。

また、この動作はドックの位置とは無関係です。私の経験では、デスクトップ(fileSの間)をクリックして他の画面をアクティブ化する必要がありました(つまり、アクティブ状態にする)

更新

確かに、Mavericksが他の画面でウィンドウを開くのを防ぐことはできません これにより、最後に閉じた画面および/またはメニューバーが表示されている画面で開きます。上記のアップデートの方法は、Mavericksの方法の単なる回避策です。


「ほとんど不透明なものがアクティブになり、他の画面に同じアプリの他のウィンドウがない限り、不透明なメニューバー画面で新しいアプリケーションウィンドウが開きます。」私はドキュメントを開いていますが、そのアプリケーションの他のウィンドウがその画面で開いておらず、そのアプリのウィンドウがプライマリ画面に開いているにもかかわらず、セカンダリディスプレイで開きます(すべてを移動し続けるため)。プライマリ画面でドキュメントウィンドウを閉じてから、そのドキュメントを再度開くと、ウィンドウがセカンダリ画面に配置され、再度移動する必要があります。
bames53

3

アプリを開いた状態で、F3キーを押してMission Controlを開き、アプリを将来画面上にドラッグして開きます。コンピューターの「スペース」に割り当てられています-割り当てられているスペースを変更します。


2

新しいウィンドウは、常に「メニューバー」が付いたディスプレイで開きます。そのため、「デフォルト」メニューバーを、新しいウィンドウを起動するディスプレイに移動するだけです。

[表示設定]ダイアログの上のスクリーンショットをご覧ください。「ディスプレイ」の1つだけがメニューバーを表示することに注意してください。また、「メニューバーを再配置するには、別のディスプレイにドラッグしてください」というテキストに注意してください。


4
ええ、はい、私のポイントは、メニューバーが既に右側の画面にあり、その画面に間違いなくフォーカスがあったが、プログラムは他の画面で開かれたことでした。
JustSid

1

私は同じ問題を抱えていました。私が見つけたのは、ドックのどのスクリーンでも開いているアプリケーションです。

画面をあなたのものと同じように設定し、左側にドッキングしました。ドックを右に切り替えると、セカンダリではなくメインモニターで開きます。


0

OS XがMavericks以降の特定のディスプレイで常にアプリを開くようにするには、アプリのドックアイコンを右クリックし、[オプション]-[デスクトップ1または2に割り当てる]を選択します(デスクトップ2がセカンダリディスプレイになります)。いくつかのアプリを他のディスプレイ(たとえば、El CapitanのSafari)にドラッグすると、これが常に機能するとは限りません。一度そこに、時にはエルキャピタンでは開いたままにしたい場合がありますが、セカンダリディスプレイで開くように特に指示されていない限り、通常はプライマリディスプレイで開きます。ドックの[オプション]-> [割り当て]を使用して、プログラムを任意のディスプレイに戻すこともできます(特に3台以上のモニターがある場合は、マウスを別のディスプレイに移動してドラッグする必要がないため、時間を節約できます)。

常にすべてのディスプレイにDockを設置するオプションがあればいいのにと思います。私は側面に取り付けられたドックが好きで、それらを移行させることはできません。これは王室の痛みです。私はこれについてフィードバックをアップルに送りましたが、彼らはそれを無視します。メニューバーのように常に各画面にドックを置くのはとても簡単です(おそらく別の特定の画面で特定のアプリを頻繁に使用するセットアップでは、各画面にドッキングします)、各画面の各ドックでその「アクティブな」画面でアプリを開きます。ウィンドウ自体のボタンに「表示するために送信」する機能もありません。特にウィンドウを並べて配置しない場合、ウィンドウをドラッグするよりも簡単です(たとえば、対角線を使用して、誤ってマウスを他のディスプレイに移動させないようにし、Dockをオンにします)モニターの位置に関係なく、常に左側のドックと右側のアイコンが好きなので、右側のモニターの左側。


1
私が問題を抱えている唯一のアプリはTextEditで、これは常にテレビ画面(セカンダリディスプレイ)でファイルを開きます。このスレッドの回答はどれもこの動作を変更しません。他のすべてのアプリは、プライマリディスプレイ(Macbook)で開きます。TextEditウィンドウを1つのディスプレイから手動で取得し、他のディスプレイにドラッグしてサイズを変更する必要はありませんが、Applesoftのカテゴリに分類されます。(AppleがBASICの用語を先制的に作り出したからといって、Microsoft製品のように動作するApple製品を説明するのにも使用できます。)
mathematrucker
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.