如何在X-Windows中改变焦点?

时间:2009-03-16 12:31:59

标签: linux x11 motif

我正在研究基于Motif的旧Linux应用程序。我希望能够以编程方式更改我们的应用程序的活动窗口。我可以通过使用XSetInputFocus()函数重定向输入,键盘输入开始去那里,但XReconfigureWMWindow()和XRaiseWindow()函数不起作用。

我已经读过窗口管理器尝试停止此行为,因此尝试禁用配置重定向,但这也不起作用。任何想法如何在窗口堆栈顶部制作我自己的窗口?

2 个答案:

答案 0 :(得分:2)

有一个名为wmctrl的小程序(至少在Debian / Ubuntu中它是标准发行版),能够在Windows和桌面上执行许多操作,并处理大量窗口管理器。我建议测试它是否适用于您的环境,如果适用,请查看其来源。

答案 1 :(得分:0)

您可能会发现答案取决于用户正在使用的窗口管理器,甚至取决于他们为Window Manager提供的设置。我喜欢将我的窗口管理器设置为“焦点跟随鼠标”,这意味着你不能将焦点发送到我没有放置鼠标的窗口,除非你也在那里扭曲鼠标(这个函数叫做XWarpMouse ?)。