在从wmctrl获得的坐标中指定X窗口的几何


9

X文档中,我读到在使用时Width,必须使用终端字符指定HeightXpositionYposition坐标:

gnome-terminal --geometry=WidthxHeight+Xposition+Yposition

如果我使用从wmctrl -lG输出中获得的坐标作为输入坐标(不确定是否wmctrl使用像素,终端字符或其他不同的几何单位),则不会得到预期的结果。也就是说,几何坐标输出由wmctrl -lG和用户可以指定的几何坐标gnome-terminal --geometry不同。

我做错了什么吗?有什么想法吗?

谢谢

Answers:


17

--geometry选项gnome-terminal实际上以字符而不是像素为单位。例如,要获得仅10行高的80列终端,可以这样启动gnome-terminal

gnome-terminal --geometry 80x10

终端将以字体字符大小为单位调整大小,并使用将该大小传达给Xserver WM_NORMAL_HINTS。您可以使用xprop命令检查这些。例如,在这里我找到一个终端窗口ID,并询问xprop:

$ wmctrl -lG | tail -n1
0x06400021  0 592  314  580  338  myhostname kees@myhostname: ~
$ xprop -id 0x6400021
...
WM_NORMAL_HINTS(WM_SIZE_HINTS):
        program specified minimum size: 48 by 16
        program specified resize increment: 7 by 14
        program specified base size: 20 by 2
        window gravity: NorthWest
...

在上述情况下,字体大小为7 x 14像素。因此,如果我想要一个70 x 140像素的终端,我可以运行gnome-terminal --geometry 10x10(尽管它会比基于窗口管理器装饰等的像素大20 x 2像素,如上面的“特定基本尺寸”所示)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.