Xlib получает события дочернего окна - PullRequest
0 голосов
/ 20 августа 2010

Я пишу простой оконный менеджер, использующий xlib.Код переопределяет клиентские окна в окно, немного большее, чем клиентское окно, называемое рамочным окном.Я пытаюсь реализовать политику клика для фокусировки.Я получаю события нажатия кнопки, когда кнопка мыши нажата в окне фрейма, и я могу поднять окно фрейма при нажатии кнопки.Однако я не получаю никаких событий, когда кнопка мыши нажата в окне клиента.Идея состоит в том, чтобы перехватить это событие и вызвать окно фрейма, даже когда кнопка мыши нажата в окне клиента.

1 Ответ

0 голосов
/ 21 августа 2010

Вы должны XGrabButton () в дочернем окне.Ваша следующая проблема будет в том, что при нажатии кнопки дочернее окно теряет фокус;Вы, вероятно, хотите сохранить свое собственное представление о «окне фокуса», а не менять его на событиях detail = NotifyGrab.См., Например, исходный код metacity.

...