似乎Mac OS X 10.6.1 Snow Leopard有时会使一些窗口不显示在屏幕上,特别是当我从MacBook断开外接显示器的连接时。当无法抓住标题栏并将其拖回屏幕时,如何将窗口移回屏幕?

XvsXP.com建议向下调整屏幕分辨率以拥有离屏窗口“跳回视图”,然后将屏幕分辨率调整回其原始设置。在OS X 10.4 Tiger中,我有一个脚本可以将所有不在屏幕上的窗口重新显示在屏幕上,但是在升级到Leopard(现在是Snow Leopard)时,我似乎没有该脚本。

还有更好的解决方案吗?

评论

您可能想检查一个非常类似的问题:取消连接外部显示器后,重置Mac OS X Windows位置

我发现从Interface Builder的plist中删除有问题的参考项有时会有所帮助。我什至试图通过AppleScript设置窗口的位置,但是没有运气。

通过将生成的显示移到相邻显示的另一侧,我能够恢复x11窗口。换句话说,我的显示器[2] [1]具有以下安排,并且x11窗口在[1]的左侧出现在屏幕外。通过重新排列:[1] [2],我的x11窗口正确显示在窗口[1]上。我在OS X 10.10上。

#1 楼

这种方法似乎可行:单击“窗口”菜单,然后单击“缩放”

评论


几个月来,我第一次遇到Parallels这个问题。不幸的是,它们在“窗口”菜单下没有缩放菜单选项。

–马修·兰金(Matthew Rankin)
2010-1-15在15:25

下一个答案应适用于所有应用程序。

–詹姆斯·罗宾逊(James Robinson)
2013年9月8日20:35在

缩放对我不起作用。现在,窗口变大了,但仍然无法到达。

–面包
2014年3月18日在3:35

很好的解决方案,除了Photoshop拥有自己的非标准实现的“窗口”菜单,并且没有缩放选项。血腥的Adobe。

–罗里·麦克罗桑(Rory McCrossan)
2014年7月9日下午6:22

适用于iTunes。以前从未见过这种选择;我一直以为它会被称为“最大化”。爵士乐!

–马特·弗莱彻(Matt Fletcher)
2014-09-25 10:40

#2 楼

还没有读完整个线程,但是我发现最简单的方法是更改​​屏幕分辨率:

转到“系统偏好设置”»“显示”,然后更改分辨率。

这将强制您的计算机再次渲染显示并重新定位所有打开的窗口。然后只需将其切换回原始分辨率设置,一切都应恢复原位。

评论


在我的情况下,该应用程序(xScope)没有“缩放”选项,并且我的新Mountain Lion版本没有显示“检测显示”功能,因此,此技巧非常有效。谢谢!

–乔恩
2012年8月5日在16:07

+1也为我工作。 (在Lion上尝试获取“ iPhone模拟器”窗口)。此应用已禁用缩放功能。使此操作更容易的是在菜单栏中具有“显示”按钮(“系统偏好设置”->“显示”->“在菜单栏中显示显示”)-这样,您可以快速更改分辨率或检测显示

–大黄
2012年10月12日下午16:54

还可以与Virtual Box一起使用,Virtual Box在另一个(不存在的)显示器中全屏显示。我根本没有菜单栏。谢谢。

– mwilson
13-10-4在13:44

没为我工作。我调整了显示器的大小,但窗口仍然无法够到。我可以在“任务控制”中看到它,但无法触摸它,真是太疯狂了!

–面包
2014年3月18日在3:37

旋转90度并还原对我有用。

–mjhm
14年4月16日在22:34

#3 楼

三个想法:


CmdF1(如果已将MacBook的键盘配置为使用常规功能键,则为CmdfnF1)可在镜像模式和扩展桌面之间切换显示。副作用是窗口会以某种不可预测的方式移动。这可能会将丢失的窗口移到可见的位置。不过,这可能需要连接外部显示器。
打开空间,按热键以显示空间概览,并查看您是否在其中看到丢失的窗口轮廓。如果是这样,请将其拖动到您想要的位置。
退出应用程序并重新启动。绝对是非理想的解决方案,如果还有未保存的工作,则不切实际。


评论


在镜像模式和扩展桌面之间切换无效。我决定退出Parallels,在退出之前会弹出一个对话框。打开对话框后,我将Parallels窗口移回了屏幕,然后从“确定要退出吗?”中选择“取消”。对话框。仍然希望有更好的方法。

–马修·兰金(Matthew Rankin)
2010年1月15日15:30

您的第一选择对我有用。我有一台附有两个显示器的Macbook Pro。我不使用Macbook作为屏幕。 Cmd F1就像一个魅力。谢谢

–ntgCleaner
2014年11月17日下午16:21

Cmd-F1可以切换到“屏幕镜像”,就像是一种魅力。然后Cmd-F1返回我的正常模式。

–布莱恩·福希特(Bryan Focht)
15年8月25日在17:30

Cmd + fn + F1完美运行!太感谢了!

–theMarceloR
17年12月27日在9:39

#4 楼

例如,可以从底部边缘水平拖动某些窗口来移动它们。

您还可以尝试在AppleScript编辑器中运行这样的脚本:

tell application "iTunes"
    set bounds of windows to {100, 100, 800, 800}
end tell




tell application "System Events" to tell window 1 of process "UltraEdit"
    set position to {100, 100}
    set size to {800, 800}
end tell


评论


这不适用于例如UltaEdit-出现错误消息,提示您无法设置范围。而且语法似乎是“将第一个窗口的边界设置为...”。

– Wolfgang Fahl
13-10-31在6:54

@WolfgangFahl将Windows的边界设置为也是正确的语法,但是我编辑了答案,添加了第二个脚本,该脚本可用于UltraEdit。

– Lri
13年10月31日在11:38

当其他所有操作失败时,此操作适用于X-Lite。 X-Lite中没有“缩放”功能,并且由于X-LIte完全在另一台显示器上,因此无法更改显示比例。

– David W.
2014年6月27日14:20

谢谢!第二个脚本(但不是第一个)对我来说适用于FileZilla。运行脚本时,请确保您与相关应用程序位于同一桌面上。

–汤姆
14-10-15在13:29

这是Adobe Illustrator的窍门。如果有人想知道如何定位应用程序,那么它就是扩展坞中的全名。我必须使用“ Adob​​e Illustrator CC 2014”代替UltraEdit,它的工作方式像个魅力。

– Barrett Kuethen
15年8月13日在23:46

#5 楼

如果您可以看到窗口的一部分,请按住Option键,然后单击窗口的边框之一。这将允许您将窗口拖动到完整视图。

评论


很久以前,我对另一个答案投了赞成票,但现在在不同的操作系统上,这对我有用。这就像在Adobe程序中按住alt并拖动新形状一样!

–ntgCleaner
2015年6月4日,0:59

对于许多坚持要在桌面的可见空间之外打开的X11应用程序,这对我而言是完美无缺的。我通常只看到这些窗口中的一小部分,并且上面的技巧可以使我将它们拖回视图中。

–slm
15年6月22日在20:13

我必须按住Shift-Option才能正常工作,但是……太疯狂了,谢谢!

– GreenAsJade
2015年10月16日,0:28

Option或Shift-Option在FileZilla的优胜美地中都不适合我:|

– DemiSheep
15年10月22日在16:40

谢谢!这也使我可以在关闭屏幕时调整photoshop的大小。似乎是在所有应用程序窗口上都有效的唯一答案!

–dval
16-2-29在11:21

#6 楼

以上都不对我有用,但是我通过更改来管理了修复程序:转到“排列”“标签”,然后将外部窗口拖动到内部窗口的顶部(而不是并排放置)。

评论


与其他所有建议不同,这对我有用。但是,这不是理想的解决方案。...我希望能够保持当前的安排。

–nukeguy
2015年4月5日23:48



没有什么对我有用-令人着迷的是为什么这会在MacOS上带回一个inkscape窗口,而没有键盘选项却无济于事。

– Wolfgang Fahl
17年6月25日在5:05

#7 楼

如果菜单中的“窗口/缩放”选项无济于事(如第一个答案所示):



(当应用程序具有其自己的非标准实现时,可能会发生这种情况窗口菜单,如Adobe Photoshop),

,您必须转到“显示设置”并选择“更多空间”(缩放比例)选项。

请参阅:



如果您想使用一些永久性的解决方案,请安装BetterTouchTool,它提供了用于移动窗口的其他选项(手势)。例如:



评论


我在显示器上的分辨率已经达到极限,但是从“最佳”设置为“更多空间”,然后再将其设置回默认值,则Filezilla窗口最终在Macbook Pro屏幕上显示为全屏

– DemiSheep
2015年10月22日17:00

缩放+选项-拖动-窗口边缘对我有用。

–乔治·奥皮内尔(Jorge Orpinel)
2015年11月25日在21:53

#8 楼

我在OS X Lion中使用Parallels Desktop 6遇到了这个问题,其中VM的实际窗口隐藏在屏幕外,仅在Mission Control中以及在空间之间滑动时可见。

因此,对于那些同样的问题,希望适用于其他地方:解决方案是右键单击Dock中的应用程序图标,然后转到“选项”菜单项,然后在“分配给”,选择“此桌面”。这会将应用程序窗口移回当前桌面。仍然更喜欢使用旧的空间pref窗格来完成这种事情-更快。

希望帮助那些绊倒这篇文章的人,同时遇到Parallels的问题(和我一样)

请注意,在Lion上,此位置没有“分配给”选项。

评论


这个答案对我有用,并且是唯一一个看起来不算什么骇客的答案。

–durron597
16年4月11日在17:54

#9 楼

通过单击左上角的图标,找到了一种使用“强制退出...”的方法。

使用它强制退出该应用,然后重新启动。它重新开始,并且窗口显示在屏幕上。

评论


这个Moom的建议救了我。

– AndyBean
2014年11月18日在2:26

在Filezilla上不适合我-我什至安装了更新版本,并且没有重置窗口(未卸载旧版本)

– DemiSheep
15年10月22日在16:47

我可以确认这对El Capitan上的Inkscape有效

– Wray保龄球
16-09-19的15:05

被低估的解决方案IMO

– w3debugger
19年3月11日在6:49

#10 楼

如果仍连接了外部显示器,或者正在重新连接外部显示器,并且此时该窗口不在屏幕上且无法管理,则可以在扩展坞中右键单击该应用程序的图标,然后强制窗口捕捉到另一个显示器。



这将允许您调整窗口位置,而无需修改显示器的分辨率或打开系统偏好设置标签。仍然不像MS Windows解决方案那么容易,但是绝对比经历所有其他麻烦事要容易。

评论


优胜美地上没有其他选择

– Chuck van der Linden
16年8月31日在3:43

这对我与High Sierra上的Sequel Pro应用程序很有效。它不在屏幕上,我看不到它的菜单栏。选择显示1并成功。谢谢!

–纳吉
18-10-3在7:55

#11 楼

以上方法均不适用于OSX 10.7.4。我正在尝试访问KeePassX,它完全不在屏幕上。 (我已经将它移到家里的第二个显示器上,但是现在在办公室,没有第二个显示器。)

来回更改分辨率没有效果。关闭该应用程序并再次打开它没有任何效果。

但是,当我关闭数据库并要求打开一个新应用程序时,它移动了窗口,因此我可以访问下拉菜单以选择一个文件。 (是!)

#12 楼

按住选项并单击扩展坞中的应用程序图标两次,它将首先最小化,然后将窗口还原到桌面上的完整视图。

评论


在macOS 10.14 Mojave中似乎无法使用。

–心脏病学
19年9月9日在23:26
在Mojave v10.14.6中,它仍然对我有用。

–贾斯汀
19年9月16日在17:08

#13 楼

视图的位置保存在nib文件本身中。我解决此问题的方法是对视图进行更改,然后保存。关闭Interface Builder并重新启动。我的窗口和视图聚集到了主屏幕。我必须说,在执行此操作之前,我尝试了所有选项。那就是Zoom,从Library / Preferences,F8,Gather Windows中删除.plist……这些都不起作用。希望对您有所帮助。

#14 楼

上面我对一个名为SecurID的令牌应用程序进行了几乎所有的尝试,这些应用程序用于VPN访问工作。这个AppleScript终于解决了它(由http://www.leonamarant.com/2008/04/02/how-to-get-off-screen-windows-back-on-your-mac-os-x-v105/提供)

-- Example list of processes to ignore: {"xGestures"} or {"xGestures", "OtherApp", ...}
property processesToIgnore : {}

-- Get the size of the Display(s), only useful if there is one display
-- otherwise it will grab the total size of both displays
tell application "Finder"
    set _b to bounds of window of desktop
    set screen_width to item 3 of _b
    set screen_height to item 4 of _b
end tell

tell application "System Events"
    set allProcesses to application processes
    set _results to ""
    repeat with i from 1 to count allProcesses
        set doIt to 1
        repeat with z from 1 to count processesToIgnore
            if process i = process (item z of processesToIgnore) then
            set doIt to 0
            end if
        end repeat

        if doIt = 1 then
            tell process i
                repeat with x from 1 to (count windows)
                    set winPos to position of window x
                    set _x to item 1 of winPos
                    set _y to item 2 of winPos

                    if (_x < 0 or _y < 0 or _x > screen_width or _y > screen_height) then
                        set position of window x to {0, 22}
                    end if
                end repeat
            end tell
        end if
    end repeat
end tell


评论


愚蠢的小secureID应用程序也遇到了同样的问题。这个帖子救了我,谢谢!

–杰克·霍尔(Jake Hall)
16年1月21日在15:20

#15 楼

转到“系统偏好设置”»“显示器”»“检测显示器”。

它将强制系统重新扫描,并检测缺少的显示器...通常可以解决我遇到的问题。

此外,如果那行不通,并且您的系统仍然认为显示器已连接,请尝试以下两种方法:


如果仍然连接了电缆(但未连接至显示器),将其断开。
在显示面板的排列选项卡上,尝试“收集Windows”。那应该将所有窗口收集到活动/主监视器。


评论


我尝试使用“检测显示”,但是没有用。我没有尝试使用“收集Windows”选项,但是下次会使用。

–马修·兰金(Matthew Rankin)
2010年1月15日15:28

这可能会或可能不会。我发现Wireshark(X Windows应用程序)在连接第二个显示器时将不在显示器上。这实际上是一个XQuartz错误(已确认)。目前尚不清楚这是Apple漏洞还是XQuartz漏洞。参见xquartz.macosforge.org/trac/ticket/797。

–本杰明·肖尔尼克(Benjamin Schollnick)
2014年10月4日21:47

#16 楼

对于我来说,简单的答案是,如果您只是完全卸下外部显示器(例如,使用笔记本电脑去参加会议),则只需合上盖子,然后再将其打开。所有其他答案(^ 1,缩放,移动窗口)对我都不起作用。

#17 楼

WindowZoom方法很有趣,如果不是Moom,可能会用到什么。它使您可以设置用于重新定位窗口和调整窗口大小的热键。我有一个9单元格网格(altoption1-9)以及左/右半部分和其他一些部分。 。对屏幕广播也非常有用,因为您可以更好地控制窗口位置。

#18 楼

对于极端情况,例如我遇到Interface Builder时,您可以尝试重新连接第二台显示器,找到丢失的窗口,然后将其拖回主显示器。

现在,要检查您的工作,请退出程序,然后重新启动它,以确保所有所需的窗口都位于主显示屏上。

现在,断开连接第二台显示器-一切​​正常。

#19 楼

在我的情况下,拔下其中一台外接显示器后,Mavericks上的窗口消失了。 MacBook Pro上仍然插入了另一台外部显示器,而从未插入的外部移动的窗口已移至我的内置显示器。 Chrome的一个窗口位于实际显示之外,但是在Mavericks中,屏幕和“空格”的工作方式没有在其他显示器上显示。

我发现最简单的方法是打开Exposé(如果您已重新启用该键盘快捷键,请按F9键,或者根据配置,用三根或四根手指向上滑动),然后将丢失的窗口从一台监视器拖到另一台。这将导致OS X自动将窗口放置在新监视器的范围内,并且将再次显示。

#20 楼

我想知道为什么以前没有提到它,但是有一种非常简单的方法来解决它。

您可以抓住窗口的水平或垂直边缘之一(而不是拐角),并将鼠标平行于边缘,而不是通常按照调整窗口大小的方向移动。

也就是说,如果水平移动窗口的水平边缘或垂直移动垂直边缘,则它不会调整窗口的大小,而是会移动整个窗口。现在,您可以将窗口的缺失部分拖回屏幕。

评论


问题在于整个窗口都不在屏幕上。没有优势可抓住。

–永远
20-11-26在23:41

#21 楼

第三方解决方案是使用HyperDock。它当前与macOS 10.14 Mojave兼容。

此实用程序修改了Dock,以显示浮动在应用程序图标上方的每个应用程序窗口的预览。

这些都是可拖动的,因此您只需选择要查看的窗口并将其拖动到需要打开的监视器即可。