为什么我无法使用 Unity 中的 wmctrl 将窗口移动到左上角?

为什么我无法使用 Unity 中的 wmctrl 将窗口移动到左上角?

我一直在尝试wmctrl更好地控制我的窗口。我遇到了一个奇怪的行为,Unity 保留了双倍的空间。
请看此屏幕截图:

在此处输入图片描述

我打开终端并使用 top 命令移动窗口。它应该位于左上角(X=0 Y=0)。但不知何故,终端和 Unity 栏之间有一些空白。

如果我理解手册页正确的话,它可能与华盛顿州:65,24

有人能帮我解决这个问题吗?

答案1

可能不是您想要的答案:

Unity 与wmctrl

不幸的是,Unity 和 的组合wmctrl具有一些特性,您所描述的行为就是其中之一。

查看你的输出

  • 65,24提到的是宽度Unity Launcher 和高度您的面板。
  • 在该行中:

    0x03400005  0 0   24    65   1111  janw_VirtualBox unity-launcher
    

    在输出中wmctrl -lG,你可以看到启动器是定位x=0, y=24,而启动器的大小为65 x 1111。(1111是屏幕高度减去面板高度)

严格来说,将活动窗口放置在左上角的命令应该是:

wmctrl -r :ACTIVE: -e 0,65,24,1500,550

并不是:

wmctrl -r :ACTIVE: -e 0,0,0,1500,550

但是,这并不能解决问题,这只是一个错误。仍然会有您描述的问题。顺便说一下,使用xdotool(默认情况下未安装)时也会发生同样的情况:

xdotool windowmove "$(xdotool getactivewindow)"  65 24

或者

xdotool windowmove "$(xdotool getactivewindow)"  0 0

读取输出wmctrl -dG

查看1792x1111WA: 65,24 1792x1111您可以看到您的显示器分辨率为1857( 65+ 1792) x 1135( 1111+24 )。
在这种情况下,它与 中的值完全匹配DG: 1857x1135,因为您只有一个视口(工作区):DG代表全部的您的桌面大小(所有视口)。

总结

wmctrlxdotool如果你设置一个窗口,最大化。你所描述的效果不会发生。移动或者调整大小然而,窗口会在启动器和面板上留下几个像素,如这个答案。
“要移动/调整大小的窗口需要距离 Unity 启动器和顶部面板至少几个像素。”

除了您所描述的之外,如果您开始玩耍,您会遇到的另一个问题wmctrlUnity您会遇到的另一个问题是偏差,如所述这个

相关内容