LINUX.ORG.RU

X11 события без main loop

 ,


0

1

Всем привет!

Стоит задача: обрабатывать события X11 окна без объявления main loop, т.к. это окно наследуется от GtkWidget, который в свою очередь имеет свой main loop. Есть идея, что можно использовать Xcb, но в документации и примерах, которые я просмотрел, везде объявлен main loop.

Подскажите, пожалуйста, как можно реализовать задачу. Или какой-то пример.

Спасибо!

А почему бы просто не подписаться на сигнал gtkwidget.event ???

no-dashi ★★★★★ ()

Gtkшный мейнлуп «расширяемый» в том смысле, что к нему можно добавить свои источники событий.

dmsh ()
Ответ на: комментарий от alexlogvinenkoit

Я говорю как раз об обратном - использовать гткшный мейнлуп, который помимо своих событий обрабатывал бы еще и иксовые. Ищи по словам «gtk event source».

Собственно, тут всё написано: http://developer.gnome.org/glib/stable/glib-The-Main-Event-Loop.html

dmsh ()
Ответ на: комментарий от dmsh

А если у меня нет доступа к гткшному мэйнлупу? Это в принципе не desktop приложение... Я бы все написал на иксах тогда. Это плагин в браузер. Мне API возвращает GtkWidget просто, от которого я обязан создавать дочернее окно, уже на нем дочерние элементы, иначе плагин вылетает... Ну или я не совсем понимаю GTK, что вполне вероятно)) Спасибо!

alexlogvinenkoit ()
Ответ на: комментарий от alexlogvinenkoit

Ну тут я уже врядли смогу подсказать.

А если просто добавить источник к дефолтному GMainContext'у - вот так g_source_attach(..., NULL) - не сработает? Хотя, даже если и сработает, это решение сомнительной «правильности».

dmsh ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.