jan*_*anw 9 command-line window-manager unity xdotool wmctrl
我一直在玩弄wmctrl
以更好地控制我的窗户。我遇到了一个奇怪的行为,Unity 保留了两倍的空间。
请参阅此屏幕截图:
我打开终端并使用 top 命令移动窗口。它应该在左上角 (X=0 Y=0)。但出于某种原因,终端和 Unity 条之间存在一些余量。
如果我正确理解手册页,它可能与WA: 65,24 有关。
有人可以帮我解决这个问题吗?
可能不是您要找的答案:
wmctrl
wmctrl
不幸的是,Unity 和 Unity 的组合有一些特点,您描述的行为就是其中之一。
65,24
你提到的,是宽度统一启动和高度的面板。在行中:
0x03400005 0 0 24 65 1111 janw_VirtualBox unity-launcher
Run Code Online (Sandbox Code Playgroud)
在输出wmctrl -lG
,你可以看到,发射被定位在x=0, y=24
,而发射器的尺寸65 x 1111
。(1111
是屏幕的高度减去面板的高度)
严格来说,将活动窗口放置在左上角的命令应该是:
wmctrl -r :ACTIVE: -e 0,65,24,1500,550
Run Code Online (Sandbox Code Playgroud)
并不是:
wmctrl -r :ACTIVE: -e 0,0,0,1500,550
Run Code Online (Sandbox Code Playgroud)
但是,这并不能解决问题,它只是一个错误。仍然会有你描述的marge。顺便说一下,使用时也会发生同样的情况xdotool
(默认情况下未安装):
xdotool windowmove "$(xdotool getactivewindow)" 65 24
Run Code Online (Sandbox Code Playgroud)
或者
xdotool windowmove "$(xdotool getactivewindow)" 0 0
Run Code Online (Sandbox Code Playgroud)
wmctrl -dG
查看1792x1111
in WA: 65,24 1792x1111
,您可以看到您的显示器分辨率为1857
( 65
+ 1792
) x 1135
( 1111
+ 24
)。
在这种情况下,它与 中的值完全匹配DG: 1857x1135
,因为您只有一个视口(工作区):DG
代表桌面的总大小(所有视口)。
无论wmctrl
和xdotool
做工精细,如果你设置窗口最大化。你描述的效果不会发生。但是,如本答案中所述,移动或调整窗口大小会在启动器和面板上留下几个像素。:
“要移动/重新调整大小的窗口需要距离 Unity 启动器和顶部面板至少有几个 px。”
除了你的描述,另外一个问题,你会遇到,如果你开始玩弄wmctrl
和Unity
是偏差,如在这一个。