开发者

How to prevent reparented window blocking X session?

I reparent an external window into Qt application (XReparentWindow, XMapRaised, XMoveResizeWindow). It works, but when I click to that reparented window the system locks (no mouse 开发者_如何学Goor keyboard events), expect of may be some input inside the reparented window or may be my application.

Trying to embed, for example, gedit and clicking into it leads to keyboard events only in gedit (and even global Awesome's hotkeys disabled) and no mouse clicks anywhere (unless I close embedded gedit using Ctrl+Q).

The same if using QX11EmbedContainer. Even if do setEnabled(false) to it.

Why it locks up? How to prevent this lockup or how to disable input processing for some X window?


Reparenting a window into one own's application is covered by the XEmbed specification. If you read that spec, you'll see, that some additional work is to be done to make this work:

http://standards.freedesktop.org/xembed-spec/xembed-spec-latest.html

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜