在里面X 文档我读到,使用时必须在终端字符中指定Width
、Height
和坐标:Xposition
Yposition
gnome-terminal --geometry=WidthxHeight+Xposition+Yposition
如果我使用从输出获得的坐标作为输入坐标wmctrl -lG
(不确定是否wmctrl
使用像素、终端字符或其他不同的几何单位),则无法获得预期的结果。也就是说,输出的几何坐标wmctrl -lG
和用户可以指定的几何坐标gnome-terminal --geometry
会有所不同。
我做错了什么吗?有什么想法吗?
谢谢
答案1
--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 像素,如上文“特定基本大小”所示)。
答案2
在 Ubuntu 21.10 中,我发现它似乎是基于像素的而不是基于字符的,尽管呃虚拟像素不是文字像素(我使用的是 4k 显示器,但我在屏幕显示中打开了 2 倍缩放,并且我给出了几何形状,就好像 1080p 一样)
我发现,如果我将其设置为完整的 1080 像素,由于状态栏的原因,它会跳下并缩小,实际上似乎需要几个额外边框的像素。
因此,启动两个终端并一起填满我的下部显示器的命令最终看起来像这样(958
而不是960
,而1028
不是1080
(以解释状态栏)
gnome-terminal --window-with-profile=Node --geometry=958x1028+0+1080 -- bash &
gnome-terminal --window-with-profile=Git --geometry=958x1028+960+1080 -- bash
答案3
该命令gnome-terminal --geometry 80x10
在 Ubuntu 中不起作用。
您必须=
在 之后使用geometry
,而不是空格:gnome-terminal --geometry=80x10+10+10