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

Bra*_*son 5 multiple-monitors compiz 12.04

背景

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

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

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

这真的很令人沮丧,因为当然拥有两台显示器的全部目的是能够同时查看不同的内容。

有谁知道是什么原因造成的?

我觉得它可能正在接受右侧显示器作为“主要”或类似的东西。它只是偶尔发生,而不是经常发生。自从更新到 12.04 以来,它才开始这样做。此外,Compiz 进程正在运行并占用了我的大量处理器,即使计算机什么都不做。我的 CPU 曾经在 30-31C 左右闲置,但现在只是坐在那里,它在 39-41C 左右......在我看来,12.04 现在很糟糕(不值多少)。

感谢您的输入!

Bra*_*son 5

解决方案

我想到了。正如 Pauk 所说,这与不同的分辨率有关。

它仅在尝试将全尺寸窗口从大显示器移动到小显示器时发生。

解决问题:

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

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

就像 Miceterminator 说的,你也可以拖到一边.....只是对窗口做一些比小显示器的全屏更小的窗口。

讨论

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

我很高兴我们弄清楚了!


小智 1

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


mic*_*tor 1

我想指出的是,在我的双头设置上,窗口捕捉也很出问题。但是,当 compiz 为全屏应用程序选择了错误的显示器时,我尝试将其捕捉到我想要的显示器一侧(带有窗口的显示器的一半),并且当我尝试在显示器上再次最大化它时,它作品。

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