Как предотвратить переоткрытое окно блокировки X сессии? - PullRequest
1 голос
/ 12 октября 2011

Я перерисовываю внешнее окно в приложение Qt (XReparentWindow, XMapRaised, XMoveResizeWindow). Это работает, но когда я щелкаю по этому восстановленному окну, система блокируется (без событий мыши или клавиатуры), ожидаемый результат может быть некоторым вводом внутри восстановленного окна или моим приложением.

Попытка встроить, например, gedit и щелкнуть в нем приводит к событиям клавиатуры только в gedit (и даже глобальные горячие клавиши Awesome отключены) и нигде не щелкает мышью (если я не закрываю встроенный gedit с помощью Ctrl + Q).

То же самое, если использовать QX11EmbedContainer. Даже если setEnabled(false) к нему.

Почему он блокируется? Как предотвратить эту блокировку или как отключить обработку ввода для некоторого окна X?

1 Ответ

0 голосов
/ 13 октября 2011

Воспроизведение окна в собственном приложении подпадает под спецификацию XEmbed.Если вы прочтете эту спецификацию, вы увидите, что для ее выполнения необходимо выполнить дополнительную работу:

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

...