Пытаюсь на питоне написать чтото вроде панели задач.
Для этого использую гномовскую библиотеку libwnck.
Неудобство в том, что в ней нету функции для поднятия/опускания окна без активации/деактивации. Если я, например, хочу поднять группу окон, то мне надо их поочередно активировать, что на мой взгляд является не оптимальным решением т.к. при этом каждому окну посылается сообщение о том, что оно активировалось и на короткое время дается фокус.
Поэтому я думаю использовать xlib и посылать сообщение _NET_RESTACK_WINDOW. Насколько я понял это именно, то что нужно.
Возникает проблема как организовать работу с xlib.
При использовании wnck на открытие/закрытие/.... окон вешаются обработчики: connect("event-name",callback_function).
В случае с xlib придется обрабатывать сообщения в цикле:
Код: Выделить всё
while 1:
get_next_message()
..........Таким образом обрабатывать сообщения.
Проблема в том, что в приложении на gtk уже должна быть своя петля обработки сообщений, если я воспользуюсь выше приведенным кодом, то прога перестанет реагировать на нажатия кнопок, действия мыши и т.д.
Как быть?
Может быть есть другое решение?