调整大小时如何知道窗口的几何形状?

调整大小时如何知道窗口的几何形状?

那是上个世纪,我不记得我们在部门使用的是什么,一些运行 XWindow 或 Motif 的基本 X 服务器,在调整窗口大小时,我们会看到窗口居中的一个小部件,告诉我们当前的值更改后的窗口的位置和大小。现在我们如何做到这一点,特别是对于 Gnome3。

我知道我能做到调整大小,使用xwininfo,但我想动态地看到它。

或者是否有我可以调用的命令行工具,并设置目标窗口的窗口大小?类似于 的东西xkill,但这不会杀死客户端,只需调整它的大小即可。

答案1

该窗口几何信息通常由窗口管理器提供。一些应用程序仍然自行执行此操作,尤其是一些在调整大小期间以字符为单位报告宽度和高度的终端应用程序,这比以像素为单位报告此类程序有用得多。 xfce4-terminal做这个。

我不知道以下命令在 Gnome 3 上的运行效果如何,而且我手边没有 Gnome 3 来尝试它们,但它们可能会起作用。

在传统的 X 环境中,您可以使用xev -id <window>它来监视指定窗口上的 X 事件。这些事件包括ConfigureNotify报告窗口的位置、宽度和高度等的事件。要仅显示有趣的几何变化事件,请使用xev -id <window> -event structure。您必须使用类似的方法xwininfo来发现要提供给的窗口IDxev

要从命令行调整窗口大小和/或移动窗口,请使用wmctrl.选项-e采用wmctrloptarg 形式,<gravity>,<posx>,<posy>,<width>,<height>并保留某些值以表示“不更改”。要更改窗口的宽度和高度,同时保持其重力和位置不变,请指定0,-1,-1,<width>,<height>。选择目标窗口的最简单方法wmctrl是使用该-r :SELECT:选项,但如果您碰巧提前知道窗口 ID,则可以将其提供给-r,通常带有一个附加标志,例如-i指定 ID 应被理解为数字ID。

明显地man xevman wmctrl拥有所有血淋淋的细节。

相关内容