1

外部ウィンドウの親を Qt アプリケーションに変更します ( XReparentWindow, XMapRaised, XMoveResizeWindow)。それは機能しますが、その再親化されたウィンドウをクリックすると、システムがロックされます (マウスまたはキーボードのイベントはありません)。

たとえば、gedit を埋め込んでクリックすると、gedit でのみキーボード イベントが発生し (グローバルの Awesome のホットキーも無効になります)、マウス クリックはどこにも発生しません (Ctrl+Q を使用して埋め込まれた gedit を閉じない限り)。

QX11EmbedContainer を使用する場合も同様です。やっsetEnabled(false)ても。

なぜロックアップするのですか?このロックアップを防ぐ方法、または一部の X ウィンドウの入力処理を無効にする方法は?

4

1 に答える 1

0

ウィンドウを自分のアプリケーションに再ペアレント化することは、XEmbed 仕様でカバーされています。その仕様を読むと、これを機能させるために追加の作業が必要であることがわかります。

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

于 2011-10-13T12:25:16.517 に答える