答案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
查看1792x1111
,WA: 65,24 1792x1111
您可以看到您的显示器分辨率为1857
( 65
+ 1792
) x 1135
( 1111
+24
)。
在这种情况下,它与 中的值完全匹配DG: 1857x1135
,因为您只有一个视口(工作区):DG
代表全部的您的桌面大小(所有视口)。
总结
和wmctrl
xdotool
如果你设置一个窗口,最大化。你所描述的效果不会发生。移动或者调整大小然而,窗口会在启动器和面板上留下几个像素,如这个答案。:
“要移动/调整大小的窗口需要距离 Unity 启动器和顶部面板至少几个像素。”
除了您所描述的之外,如果您开始玩耍,您会遇到的另一个问题wmctrl
是Unity
您会遇到的另一个问题是偏差,如所述这个。