(双显示器和 12.04)将窗口捕捉到全屏会将窗口放在其他显示器上

(双显示器和 12.04)将窗口捕捉到全屏会将窗口放在其他显示器上

背景

(该问题在Unity 2D中不会出现)

当移动窗口并将光标放在屏幕顶部时,橙色框会在屏幕上扩展,当您松开光标时,窗口就会全屏显示......至少,它应该如此。

当我不在 Unity2D 中(即 Unity 3D 或登录时显示的“Unity”)时,我可以将窗口全屏显示在右侧显示器上,但如果我将窗口推到左侧显示器的顶部并松开,它会在正确的监视器 !!!!!

这确实令人沮丧,因为拥有两个显示器的全部目的当然就是为了能够同时查看不同的东西。

问题

有人知道这是什么原因造成的吗?

我觉得它可能会接受右侧显示器作为“主显示器”或类似的东西。这种情况只会偶尔发生,而不是经常发生。它只是在更新到 12.04 后才开始这样做。此外,Compiz 进程正在运行并占用了大量处理器,即使计算机什么也没做。我的 CPU 过去闲置时温度约为 30-31C,但现在只是闲置在那里,温度约为 39-41C……在我看来,12.04 现在非常耗电(不值得)。

感谢您的意见!

答案1

解决方案

我明白了。就像 Pauk 所说的,这与不同的分辨率有关。

仅当尝试将全尺寸窗口从大显示器移动到小显示器时才会发生这种情况。

解决问题的方法:

调整大显示器上的窗口大小,使其小于小显示器上的全屏显示(即,窗口将适合小显示器而不触及任何边缘)。

接下来,将其拖到较小显示器的顶部并释放以使其全屏(或将其拖到较小的显示器并“最大化”它)。

就像 Miceterminator 所说的那样,您也可以将其拖到一边.....只需对窗口进行一些操作,使其比小显示器的全屏更小。

讨论

所以问题是我们试图将一个大窗口(对我来说是 1920x1080)放到一个较小的(对我来说是 1600x900)“画布”上。这解释了为什么它会弹回到更大的显示器上。只需将其缩小到足以适合您的“较小画布”,然后最大化以完全填充,似乎就是解决方案。

我很高兴我们解决了这个问题!

答案2

我注意到,当您的显示器分辨率不同时,就会发生这种情况。例如,我的笔记本电脑分辨率为 1366x768,外接显示器分辨率为 1920x1080。当您尝试最大化(通过将其贴紧到顶部边缘或通过最大化按钮)并且窗口高度大于屏幕垂直高度(在我的笔记本电脑上)时,它将在具有更高分辨率的屏幕上最大化(在外接显示器上)。

答案3

我想指出的是,在我的双屏设置中窗口捕捉功能也相当不稳定。但是,当 compiz 为全屏应用程序选择了错误的显示器时,我尝试将其捕捉到我想要的显示器一侧(带有窗口的显示器的一半),当我尝试在显示器上再次将其最大化时,它就可以正常工作了。

还要注意两个显示器之间的鼠标屏障,有时窗口会在另一个显示器上移动,但鼠标会留在后面。因此,如果您尝试将其最大化,compiz 将使用鼠标所在的显示器,因此它会捕捉到错误的显示器。由于屏障仅用于访问第二个显示器上的启动器,因此我使用 compiz-config-settings-manager (ccsm) 来禁用屏障(我相信您可以在 unity 插件设置下找到它)。

相关内容