linux - 触发 X 窗口的调整大小事件

标签 linux x11 xlib xorg

所以我有一个 X 窗口(属于另一个进程),我想触发该窗口的调整大小事件,最好不要实际调整它的大小。

我的第一个方法是只调整窗口大小两次,第二次恢复到原来的大小,但我失败了。问题是有问题的窗口全屏显示,显然调用 XResizeWindowXMoveResizeWindow 没有任何作用(这在某种程度上是有意义的)。如果窗口未处于全屏模式,它工作正常。
因为无论如何这只是为了快速测试,我开始想知道是否有可能在 X 服务器中为该窗口伪造/注入(inject)调整大小事件。对于 MS Windows,这似乎很容易,在谷歌搜索时找到了很多示例,但对于 X,我似乎运气不好。

背景(反正人们可能会问 ;)):我正在全屏启动 VMware Player 实例,在某些情况下启动后,Windows 客户机不会根据主机更改其分辨率(但主要是可以,这要归功于客户机上安装的 VMware 工具)。该 VM 在连接了不同尺寸屏幕的多台机器上使用,因此我无法将图像预先配置为具有正确的分辨率。目前,如果分辨率错误,用户会被告知退出并重新进入全屏,但这非常不方便。所以我的想法是简单地告诉 VMplayer 它只是在启动后调整了大小,但也许有更好的方法......

最佳答案

使用XSendEvent功能。它的存在正是出于这个原因。

关于linux - 触发 X 窗口的调整大小事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17468078/

相关文章:

c - Unix 套接字的 sockaddr_un.sun_path 区分大小写吗?

c - XLib:全屏后如何返回窗口模式?

linux - 在 Linux 操作系统中更新时自动刷新打开图形(例如显示在 Imagemagick 上)

python - 如何使用 python-xlib 移动/调整窗口大小?

使用 Xlib 捕获鼠标

linux - 如何在 shell 脚本中通过特定的 ip 范围生成 ip 地址?

c++ - 在自己的工作目录中运行可执行文件

c - 使用四个不同端口的套​​接字处理连接

linux - 如何在X11中创建圆角矩形窗口

python - 在 Ubuntu/GNOME 上使用 PyQt 将窗口放置在桌面图标后面