断开外接显示器的连接后,重置Mac OS X Windows位置


72

在多台显示器上使用Mac OS很棒,但是在卸下外部显示器(第二台显示器)之后,通常原本在外部显示器上的窗口位置不会重新定位到默认显示器。是否有任何快捷键或实用程序可以重置这种用法的窗口位置?


您也可以在Server Fault上查看serverfault.com/questions/7237/…
Chealion

还可以看到非常受欢迎的问题OS X存在哪些窗口管理选项?
2014年

Answers:


64

从我最初在Server Fault Question 7237的回答中得出:

拔下显示器时(包括适配器(如果适用)-使适配器离开OS X并认为仍在插入显示器),所有Windows都应移至主屏幕上。有时,某些窗口(例如Firefox)将保持其位置在屏幕的最右边,从而为您提供了足够的空间来抓住标题栏并将其移动到您想要的位置。

排列Windows以便可以看到它们的一种方法(如果由于某种原因它们不在屏幕上)是更改为拥有相关窗口的应用程序,按住Option键并从菜单中选择“排列在前面”。窗口菜单。然后,它将从屏幕左上方开始以级联方式排列该应用程序的所有窗口。

其次,有几个可用的AppleScript(例如Snipplr的一个),它们也将每个窗口移出屏幕并在屏幕上为您移动。

还有一个名为Stay的漂亮共享软件应用程序,可以帮助您自动执行很多操作,还有ControlPlane,它不仅可以监控监视器是否断开连接,还可以执行脚本(如果您想不仅仅是重新布置窗户而已。ControlPlane是免费的,但没有用于移动窗口的任何直接机制(您必须将其附加到上述AppleScript之一)。


“收集Windows”仅影响并且仅打算影响“系统偏好设置”“显示”窗口。
Araxia

@Araxia:固定。很奇怪,因为我可能会发誓,我以前曾经用过这种方式(但是在Lion中它肯定不能那样使用)
Chealion 2012年

您也可以使用Divvy重新排列窗户
Irfan 2012年

Snipplr的脚本效果很好。我还没有在X-windows应用程序中尝试过该脚本,Divvy似乎无法调整其大小。
harijay 2014年

在Mavericks上,单击该应用程序,在菜单栏上,单击“窗口”>“全部
Ivan Chau

6

您也可以转到“显示”,然后选择“关闭/打开镜像”,它将重置窗口。




3

按住选项键,然后在扩展坞中两次单击应用程序的图标。第一次单击将隐藏该窗口,第二次单击将调整该窗口的大小以适合单个窗口。


这是最好的答案,它也适用于macOS Sierra。
贾斯汀

2

这些都不起作用,然后我读到一个删除plist文件的技巧。那删除了所有内容,包括我为试图收集主窗口而注册的应用程序的注册,该窗口在我上次关闭时处于打开状态。

然后,我尝试了以下操作并成功:我将MainWindowFrame密钥更改为s.th。在我的情况下低于屏幕分辨率:

<key>MainWindowFrame</key>
    <array>
        <integer>**2237**</integer>
        <integer>474</integer>
        <integer>834</integer>
        <integer>704</integer>
    </array>

至:

<key>MainWindowFrame</key>
    <array>
        <integer>**1000**</integer>
        <integer>474</integer>
        <integer>834</integer>
        <integer>704</integer>
    </array>

终于成功了!!!


2
您编辑了哪个plist文件?
rennat

1

我对使用Macbook外接显示器的朋友也有类似的查询,他建议使用SizeUp。我还没有研究过,但这可能正是您所追求的。


唤醒Mac时,尺寸增大是否可能导致窗口移动到屏幕边缘?
安迪

1

您可以转到“系统偏好设置”>“显示”,然后将分辨率更改为较低的分辨率,例如1024 x 768或800 x 600,这将导致窗口重置为较小的显示尺寸。将其更改回所有屏幕外窗口,应会出现。


觉得这个工作
malhal

1

我曾经有一种奇怪的情况,即在空格之间切换时只能看到应用程序窗口。我知道它在屏幕左侧。我尝试了此处描述的许多方法,但均无济于事。

最终,我按照显示偏好对我的主显示器和外部显示器进行了重新排列,使之位于另一个显示器的左上方,并最终显示了该窗口。


1

当您在Mac上运行分辨率不同的多个显示器时,Mac似乎会通过创建“虚拟”显示器来弥补所有较小的显示器和最大的显示器之间的空隙,从而“假装”所有显示器实际上都具有相同的垂直分辨率。 。例如,我有一个Macbook Pro和一个27英寸的影院显示器。

我以其原始分辨率2560x1440运行我的Cinema显示器,并在最右边的“更多空间”设置下运行我的Macbook(它小于1440,但无法确切告诉我它是什么)。由于我将显示器和笔记本电脑放在办公桌上的方式,我使用系统偏好设置中的“排列”标签来对齐显示器的底部边缘。当我这样做时,macbook屏幕上方有一个区域,在排列窗口中显示为空白或空白。

但是,我发现,如果我重新布置东西以使显示器的上边缘对齐,那么丢失的应用程序窗口会在笔记本电脑显示器空间的左上角静静地等待着我,认为它在屏幕上可以看到并且整个屏幕可见时间。从那里,我发现通过向下移动笔记本电脑屏幕以使其与底部的外部显示器对齐,该系统足以将现在隐藏的窗口强制显示在Cinema显示器的左上方。


0

我将显示首选项保留在菜单栏中(显示首选项中有一个选项)。然后,每当显示器排列发生变化且OS X未检测到它时,您都可以单击此处并选择“检测显示”。

或者,您可以在Automator中将该动作编写脚本,然后自己为其分配快捷键。有关更多信息,请参见此链接


0

在使用Pixelmator并在笔记本电脑连接到显示器的情况下在家使用第二天尝试使用它时,我遇到了同样的问题。只需进入显示器,将res设置为较低的值,单击“收集窗口”按钮,然后将res设置为正常,您将看到所有Pixelmator(或任何应用程序)窗口。


0

您可以做的另一件事是进入暴露状态(默认情况下,我认为三个手指向上滑动),然后将窗口拖动到另一个屏幕上。如果您可以找到右下角,则会将窗口弹出到屏幕顶部。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.