[英]How to prevent reparented window blocking X session?
我将外部窗口重新放置到Qt应用程序中( XReparentWindow, XMapRaised, XMoveResizeWindow
)。 它可以正常工作,但是当我单击该父窗口时,系统锁定(没有鼠标或键盘事件),期望的可能是该父窗口内部的某些输入,或者是我的应用程序。
例如,尝试嵌入gedit并单击它会导致仅在gedit中发生键盘事件(甚至禁用了全局Awesome的热键),并且没有鼠标单击的任何地方(除非我使用Ctrl + Q关闭嵌入式gedit)。
如果使用QX11EmbedContainer,则相同。 即使对它setEnabled(false)
。
为什么锁起来? 如何防止这种锁定或如何禁用某些X窗口的输入处理?
XEmbed规范涵盖了使窗口进入自己的应用程序。 如果您阅读该规范,将会看到要完成这项工作,还需要做一些额外的工作:
http://standards.freedesktop.org/xembed-spec/xembed-spec-latest.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.