LINUX.ORG.RU

История изменений

Исправление Zubok, (текущая версия) :

В чем проблема?

Проблема может быть в том, что в структуре event в X11 есть поле send_event. Если это поле 0, то сообщение пришло от самого X-сервера, а если не ноль, то от другого приложения. Так вот некоторые приложения (а их список мне неизвестен, но они точно есть) не принимают сообщений от других приложений, а только от сервера. Просто проверяют это поле и отсеивают. Делает ли так Qt или Chrome, я не знаю точно - надо исходники смотреть. Ты мог именно на это нарваться: какие-то приложения нормально отработают, а какие-то нет.

XTEST решает. Но при помощи XTEST нельзя направить сообщение любому окну по его id (окну, которое, например, не имеет фокуса ввода). Это можно сделать только при помощи XSendEvent. Сообщения от XTEST получит активное окно.

Исходная версия Zubok, :

В чем проблема?

Проблема может быть в том, что в структуре event в X11 есть поле send_event. Если это поле 0, то сообщение пришло от самого X-сервера, а если не ноль, то от другого приложения. Так вот некоторые приложения (а их список мне неизвестен, но они точно есть) не принимают сообщений от других приложений, а только от сервера. Просто проверяют это поле и отсеивают. Делает ли так Qt или Chrome, я не знаю точно - надо исходники смотреть. Ты мог именно на это нарваться: какие-то приложения нормально отработают, а какие-то нет.

XTEST решает. Но при помощи XTEST нельзя направить сообщение любому окну по его id (окну, которое, например, не в фокусе). Это можно сделать только при помощи XSendEvent. Сообщения от XTEST получит активное окно.