janw Asked: 2016-02-26 15:07:46 +0800 CST2016-02-26 15:07:46 +0800 CST 2016-02-26 15:07:46 +0800 CST 为什么我不能在 Unity 中使用 wmctrl 将窗口移动到左上角? 772 我一直在玩弄wmctrl更多地控制我的窗户。我遇到了一个奇怪的行为,Unity 保留了双倍的空间。 看这个屏幕截图: 我打开终端并使用 top 命令移动了窗口。它应该在左上角(X=0 Y=0)。但由于某种原因,终端和 Unity 条之间存在一些边距。 如果我正确理解手册页,它可能与WA: 65,24有关。 有人可以帮我解决这个问题吗? command-line 1 个回答 Voted Best Answer Jacob Vlijm 2016-02-26T22:45:37+08:002016-02-26T22:45:37+08:00 可能不是您要找的答案: 与 Unity 和wmctrl Unity 和wmctrl不幸的结合有一些特点,您描述的行为就是其中之一。 查看您的输出 65,24您提到的是 Unity Launcher 的宽度和面板的高度。 在行中: 0x03400005 0 0 24 65 1111 janw_VirtualBox unity-launcher 在 的输出中wmctrl -lG,您可以看到 Launcher 的位置是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 但是,这并不能解决问题,它只是一个错误。仍然会有你描述的marge。顺便说一句,使用时也会发生同样的情况xdotool(默认未安装): xdotool windowmove "$(xdotool getactivewindow)" 65 24 或者 xdotool windowmove "$(xdotool getactivewindow)" 0 0 读取输出wmctrl -dG 查看1792x1111in WA: 65,24 1792x1111,您可以看到您的显示器分辨率为1857( 65+ 1792) x 1135( 1111+ 24)。 在这种情况下,它与 中的值完全匹配DG: 1857x1135,因为您只有一个视口(工作区):DG代表桌面的总大小(所有视口)。 总结 如果您将窗口设置为最大化,两者都wmctrl可以正常工作。你描述的效果不会发生。但是,如本答案所述,移动或调整窗口大小会在启动器和面板上留下几个像素。:“要移动/调整大小的窗口距离 Unity 启动器和顶部面板至少需要几个 px。”xdotool wmctrl除了您所描述的之外,如果您开始玩弄,您将遇到的另一个问题Unity是偏差,如本文所述。
可能不是您要找的答案:
与 Unity 和
wmctrl
Unity 和
wmctrl
不幸的结合有一些特点,您描述的行为就是其中之一。查看您的输出
65,24
您提到的是 Unity Launcher 的宽度和面板的高度。在行中:
在 的输出中
wmctrl -lG
,您可以看到 Launcher 的位置是x=0, y=24
,而启动器的大小是65 x 1111
。(1111
是屏幕高度减去面板高度)因此,严格来说,将活动窗口放置在左上角的命令应该是:
并不是:
但是,这并不能解决问题,它只是一个错误。仍然会有你描述的marge。顺便说一句,使用时也会发生同样的情况
xdotool
(默认未安装):或者
读取输出
wmctrl -dG
查看
1792x1111
inWA: 65,24 1792x1111
,您可以看到您的显示器分辨率为1857
(65
+1792
) x1135
(1111
+24
)。在这种情况下,它与 中的值完全匹配
DG: 1857x1135
,因为您只有一个视口(工作区):DG
代表桌面的总大小(所有视口)。总结
如果您将窗口设置为最大化,两者都
wmctrl
可以正常工作。你描述的效果不会发生。但是,如本答案所述,移动或调整窗口大小会在启动器和面板上留下几个像素。:“要移动/调整大小的窗口距离 Unity 启动器和顶部面板至少需要几个 px。”xdotool
wmctrl
除了您所描述的之外,如果您开始玩弄,您将遇到的另一个问题Unity
是偏差,如本文所述。