我正在为Linux开发基于Motif的旧应用程序。我希望能够以编程方式更改应用程序的活动窗口。我可以使用XSetInputFocus()函数重定向输入,键盘输入开始转到那里,但是XReconfigureWMWindow()和XRaiseWindow()函数不起作用。
我读到窗口管理器试图阻止此行为,因此尝试禁用配置重定向,但这也不起作用。你知道如何在窗口堆栈的顶部创建我自己的窗口吗?
发布于 2009-03-17 10:32:02
有一个名为wmctrl的小程序可用(至少在Debian/Ubuntu中是标准发行版),它能够在windows和桌面上执行许多操作,并处理大量的窗口管理器。我建议测试它是否在您的环境中工作,如果可以,请查看其源代码。
发布于 2009-03-16 04:46:32
你可能会发现这个问题的答案取决于用户正在使用的窗口管理器,甚至取决于他们给窗口管理器设置了什么。我喜欢将我的窗口管理器设置为“焦点跟随鼠标”,这意味着您不能将焦点发送到我没有放置鼠标的窗口,除非您也在那里扭曲鼠标(该函数是否称为XWarpMouse?)。
https://stackoverflow.com/questions/650223
复制相似问题