GDK: установка маски событий в окне root для перехвата событий карты не работает - PullRequest
0 голосов
/ 27 мая 2020

Недавно я хотел начать разработку оконного менеджера, чтобы лучше узнать X Server. Изначально мой выбор пал на необработанный XCB для взаимодействия с X-сервером, но он был быстро отброшен, когда я обнаружил GDK, который, кажется, является высокоуровневой оболочкой для Xlib (если я не ошибаюсь).

Я начал переписывать супер запутанный код, который я написал в XCB, чтобы получить в общей сложности 20-30 строк благодаря GDK, но затем я попал в камень. Я хочу получать все запросы карты к root из каждого нового окна, чтобы я мог настроить и нарисовать фрейм и выполнить для них повторное родительство, прежде чем эффективно предоставить им видимость, но похоже, что я не могу заставить его работать. Я пробовал использовать маску события структуры / субструктуры, но ничего не происходит (что странно, потому что она, например, работает для события нажатия кнопки).

Надеюсь, я не ошибочно принял GDK как библиотеку, с помощью которой разрабатывается оконный менеджер стал проще.

Весь код (на самом деле немного) можно найти здесь (название проекта немного глупое, я знаю).

...