到目前为止,我有一台MacBook Pro并连接了外接显示器。然而,即使当前活动(键和主)窗口/应用程序在主显示器上,Mavericks似乎也坚持在辅助显示器上打开新应用程序。令人难以置信的令人沮丧,因为他们有不同的屏幕尺寸,它与我保存的窗口大小非常混乱。有没有办法阻止小牛这样做?我只想在主显示屏上打开应用程序,或者至少让它们记住我上次关闭它们的显示器。
如果它有帮助,这是我从系统首选项的显示安排:
到目前为止,我有一台MacBook Pro并连接了外接显示器。然而,即使当前活动(键和主)窗口/应用程序在主显示器上,Mavericks似乎也坚持在辅助显示器上打开新应用程序。令人难以置信的令人沮丧,因为他们有不同的屏幕尺寸,它与我保存的窗口大小非常混乱。有没有办法阻止小牛这样做?我只想在主显示屏上打开应用程序,或者至少让它们记住我上次关闭它们的显示器。
如果它有帮助,这是我从系统首选项的显示安排:
Answers:
我习惯连接到会议室投影仪或分辨率各不相同的大屏幕,所以当我在一天中从一个房间移动到另一个房间时,我的窗户也必须不断调整大小。所以我感觉到你的痛苦。:-)
为了避免混淆,我想为这个答案定义几个术语:
基本上,问题是你看到主显示器和主显示器之间的重要区别; Mac OS X没有,并且当你试图通过将辅助显示器视为主显示器来保持这种区别时,它会打击你。
除非他们特别尝试不这样做,否则应用程序将始终打开主显示屏。这是definitionally的一个特征的主显示器的。(这是Quartz API的一个相当低级别的部分,特别是CGConfigureDisplayOrigin调用,因此如果应用程序本身不允许您配置它,则此行为是不可配置的。)
我建议也许可以询问让你烦恼的事情(当你把它放在你的评论中时“与其他东西混在一起”)当你连接时不要将主显示屏保持为主要显示器,因为那些可能是可配置的; 这种行为不是。
不过,我确实有一些可能有用的技巧:
镜像然后取消镜像会导致所有窗口都太大而无法放在较小的屏幕上进行调整大小以适应并将所有窗口放到主显示器上。我知道,这不是一个完美的解决方案,因为你想要辅助显示器上的东西,但是当它与下一个技巧相结合时,它可能是一个有用的解决方法,特别是如果你知道键盘快捷键:⌘-F1。按下它,让系统切换到镜像,然后再按一次。您的所有窗口都将调整为最小的显示,并将显示在主显示屏上。
解决该问题的另一个非常有用的工具是BetterTouchTool,它允许您设置“Next Monitor on Next Monitor”和“Maximize Window to Next Monitor”手势。我将它们分别分配给四指和五指,然后我可以通过在触控板上进行混搭,快速将一个窗口从一个监视器弹出到另一个监视器。(如果在连接到大显示器时没有使用触控板,BTT也可以使用其他指针设备进行手势操作。)
这两个技巧一起使得不断变化的分辨率工作并不完美,但至少可以容忍。如果我想将我的所有窗户都放到辅助显示器上(我正在进行培训,请说,并希望学生可以看到菜单栏,但我希望所有与培训无关的窗口都在另一个显示器上) ,我做了镜像/非镜像技巧,然后用手指敲击触控板多次,直到窗口全部弹出。
最后,如果你喜欢摆弄,你可以看一下这个Applescript,它通过一种不同的方法将所有窗口移动到主窗口。与镜像方法不同,镜像方法将窗口作为副作用移动到主要方法,这个方法明确地执行,因此您可以修改它以将窗口移动到首选的主要辅助显示。但这并不容易,这可能会让你知道为什么一切都在与你对抗这种用法。这是Applescript的关键部分:
set position of window x to {0, 22}
由于菜单栏是22个显示坐标(在Retina显示之前曾经是“像素”)高,并且屏幕和窗口的原点位于左上角,此线将窗口x向下移动并与菜单栏齐平左移。为了适应这个脚本,它将所有窗口移动到辅助显示的左上角,你需要找出它的坐标,并将其用作x值。在屏幕截图中显示的排列中,“0”将替换为负数,因为您位于菜单栏的左侧。需要一些摆弄才能做到正确,特别是如果您希望脚本无论安排如何都能正常工作。
我知道,这完全是kludgey; 但如果您希望主显示屏和主显示屏不同,您将不得不接受kludges。这就是为什么我真的强烈建议你试着解决阻止你让其他显示器成为主要而不是打这场特殊战斗的原因。
CGDisplayID
从Mavericks开始,活动和非活动监视器之间存在区别。您可以通过查看您的菜单栏来查看哪个监视器处于活动状态(我假设您使用新的Mavericks空间行为)。如果你在两个屏幕上比较它们,一个将淡出,一个将大部分不透明。最不透明的一个被激活,新的应用程序窗口将在屏幕上打开,不透明的菜单栏屏幕,除非在另一个屏幕上有相同应用程序的其他窗口。
那么如何更改哪个屏幕处于活动状态?
只需按下您希望打开窗口的屏幕桌面上的任意位置即可。这将使屏幕的菜单栏几乎不透明,打开窗口现在应该在屏幕上打开它。
另请注意,此行为与Docks位置无关。根据我的经验,我不得不点击桌面(文件之间)来激活另一个屏幕(我的意思是让它处于活动状态)
更新
不可否认,这并不妨碍小牛队在另一个屏幕上打开窗口8你可以在系统设置中进入“任务控制”并取消选中“监视器使用不同的空间”以回到前Mavericks的行为。这样它将在最后关闭的屏幕和/或菜单栏所在的屏幕上打开。上面描述的更新方法只是Mavericks方式的一种解决方法。
新窗口将始终在显示屏中打开“菜单栏”,因此只需将“默认”菜单栏移动到您希望启动新窗口的人机界面。
查看上面“显示首选项”对话框的屏幕截图。请注意,只有一个“显示”显示菜单栏。另外,请注意文本“要重新定位菜单栏,将其拖动到其他显示”。
要让OS X始终在Mavericks或更新版本的特定显示器上打开应用程序,请右键单击应用程序的停靠栏图标,然后选择“选项” - 分配到桌面1或2(桌面2应该是您的辅助显示器)。我发现将一些应用程序拖动到另一个显示器(例如El Capitan中的Safari)后,这并不总是有效。在那里,有时它想继续打开那里,至少在El Capitan,它通常在主显示器上打开,除非明确告知在辅助显示器上打开的方式。您还可以使用扩展坞上的选项 - >分配将程序移回任何显示器(可以通过不必将鼠标移动到另一个显示器以将其拖回来节省时间,特别是如果您有两个以上的监视器。
我只是希望有一个选项可以随时在每个显示器上安装Dock。我更喜欢侧面安装的码头,你不能让这些迁移成为皇家的痛苦。我已将此反馈发送给Apple,但他们忽略了它。在菜单栏上可能很容易在每个屏幕上都有一个底座(甚至可能是不同的停靠每个屏幕,用于在某些屏幕上经常使用某些应用程序的设置)并在每个屏幕上打开应用程序在“活动”屏幕上打开应用程序。我不介意窗口上的按钮本身也有“发送到显示器”。它比不得不拖动窗户更简单,特别是如果你安排它们并不是并排(例如我使用对角线,所以我不小心将鼠标移动到另一个显示器,这让我可以保持Dock我的右侧显示器的左侧,因为我喜欢左侧的底座和右侧的图标,无论显示器位置如何)。