LINUX.ORG.RU

Сообщения pavelp

 

Демон и X Windows

Форум — Development

Здравтсвуйте!
Я написал демон, который в своей работе использеут функции XLib.
Но с ним происходит что-то непонятное:
1. Я запускаю его из консоли. Он исправно выполняет свои функции. Я закрываю консоль, открываю ее снова - демон может присутствовать в списке процессов, а может и нет (когда как). По моим соображениям, его падение происходит на функции XGetNextEvent().
2. Я запускаю демон из системных скриптов при старте системы. Функция XOpenDisplay() возвращает NULL. Это присходит, даже если в теле демона поставить задержку, достаточную, чтобы дальнейшее выполнение продолжилось после захода вользователя в систему.
Кто-нибудь может это прокомментировать?

>>>

pavelp
()

logon/ Logout

Форум — Development

Здравствуйте!
Подскажите, пожалуйста, как в Linux программным способом определить, что был выполнен Logon и Logout? Предполагается, что есть некоторый демон, который должен реагировать на данные события.
Спасибо!

>>>

pavelp
()

Прозрачные окна

Форум — Development

Господа!
Кто-нибудь пробовал с помощью XLib и его расширений создавать прозрачные окна?
Подкиньте инфу!
Заранее благодарю!

>>>

pavelp
()

Status Bar

Форум — Development

Здравствуйте!

Подскажите, пожалуйста, как с помощью функций XLib можно получить идентификатор (Window) Панели Задач в KDE, как программно узнать и какой оконный менеджер запущен.

Заранее спасибо!

pavelp
()

Оконные сообщения X Windows

Форум — Development

Здравствуйте! В моей программе необходимо реагировать определенным образом на создание окон, изменение их размеров, перемещении и т. д. Для этого я получаю сообщения от рутового окна с маской SubstructureNotifyMask. Но вся беда в том, что, например, при создании окна (я запускаю какое-либо приложение) начинают приходить не только сообщения CreateNotify, ConfigureNotify и MapNotify. А так же приходят сообщения и DestroyNotify. Получается, что создается не только одно окно, а несколько, а некоторые из них сразу же после создания уничтожаются. Такое же происходит и при попытке реагировать на другие действия с окнами. Подскажите пожалуйста: 1. Есть ли другой способ реагировать на описанные действия с конами? 2. Почему приходят сообщения о создании еще каких-то окон и об уничтожении каких-то окон? Привожу небольшой лог (запускал клнсоль из KDE): defRootWnd = 0x44 The dispatching of events: 'DestroyNotify' event come for window 0x1000003 'CreateNotify' event come for window 0x1000004 parent = 0x44 x = 0 y = 0 width = 1 height = 1 border_width = 0 'CreateNotify' event come for window 0x16000F2 parent = 0x44 x = 320 y = 307 width = 640 height = 409 border_width = 0 'ConfigureNotify' event come for window 0x16000F2 x = 320 y = 307 width = 16 height = 16 border_width = 0 'ConfigureNotify' event come for window 0x16000F2 x = 320 y = 307 width = 20 height = 20 border_width = 0 'CreateNotify' event come for window 0x3A00001 x = 0 y = 0 width = 1 height = 1 border_width = 0 'DestroyNotify' event come for window 0x3A00001 'ConfigureNotify' event come for window 0x16000F2 x = 129 y = 1029 width = 20 height = 20 border_width = 0 'MapNotify' event come for window 0x16000F2 'CreateNotify' event come for window 0x3A00002 x = 0 y = 0 width = 1 height = 1 border_width = 0 'DestroyNotify' event come for window 0x3A00002 'ConfigureNotify' event come for window 0x16000F2 x = 129 y = 1033 width = 20 height = 20 border_width = 0 'CreateNotify' event come for window 0x3C00001 x = 320 y = 307 width = 640 height = 409 border_width = 0 'CreateNotify' event come for window 0x3C00002 x = 0 y = 0 width = 1 height = 1 border_width = 0 'ConfigureNotify' event come for window 0x16000F2 x = 129 y = 1036 width = 20 height = 20 border_width = 0 'ConfigureNotify' event come for window 0x16000F2 x = 129 y = 1036 width = 20 height = 20 border_width = 0 'ConfigureNotify' event come for window 0x16000F2 x = 129 y = 1039 width = 20 height = 20 border_width = 0 'CreateNotify' event come for window 0x3C00007 x = 320 y = 307 width = 640 height = 409 border_width = 0 'CreateNotify' event come for window 0x3C00018 x = 320 y = 307 width = 640 height = 409 border_width = 0 'ConfigureNotify' event come for window 0x16000F2 x = 129 y = 1042 width = 20 height = 20 border_width = 0 'ConfigureNotify' event come for window 0x16000F2 x = 129 y = 1042 width = 20 height = 20 border_width = 0 'CreateNotify' event come for window 0x3C0001A x = 320 y = 307 width = 640 height = 409 border_width = 0 'CreateNotify' event come for window 0x3C0001B x = 320 y = 307 width = 640 height = 409 border_width = 0 'CreateNotify' event come for window 0x3C0001C x = 320 y = 307 width = 640 height = 409 border_width = 0 'CreateNotify' event come for window 0x3C0001D x = 320 y = 307 width = 640 height = 409 border_width = 0 'CreateNotify' event come for window 0x3C0001E x = 320 y = 307 width = 640 height = 409 border_width = 0 'CreateNotify' event come for window 0x3C0001F x = 320 y = 307 width = 640 height = 409 border_width = 0 'ConfigureNotify' event come for window 0x3C00007 x = 320 y = 307 width = 321 height = 321 border_width = 0 'CreateNotify' event come for window 0x3C00020 x = 320 y = 307 width = 640 height = 409 border_width = 0 'CreateNotify' event come for window 0x3C00021 x = 320 y = 307 width = 640 height = 409 border_width = 0 'CreateNotify' event come for window 0x3C0002C x = 320 y = 307 width = 640 height = 409 border_width = 0 'CreateNotify' event come for window 0x3C0002D x = 320 y = 307 width = 640 height = 409 border_width = 0 'CreateNotify' event come for window 0x3C0002E x = 320 y = 307 width = 640 height = 409 border_width = 0 'CreateNotify' event come for window 0x3C0002F x = 320 y = 307 width = 640 height = 409 border_width = 0 'ConfigureNotify' event come for window 0x16000F2 x = 129 y = 1044 width = 20 height = 20 border_width = 0 'ConfigureNotify' event come for window 0x16000F2 x = 129 y = 1044 width = 20 height = 20 border_width = 0 'DestroyNotify' event come for window 0x3C00047 'ConfigureNotify' event come for window 0x3C00007 x = 320 y = 307 width = 746 height = 430 border_width = 0 'CreateNotify' event come for window 0x1201070 x = 0 y = 0 width = 1 height = 1 border_width = 0 'ConfigureNotify' event come for window 0x1200032 x = 0 y = 0 width = 100 height = 100 border_width = 0 'CreateNotify' event come for window 0x1201088 x = 320 y = 307 width = 640 height = 409 border_width = 0 'ConfigureNotify' event come for window 0x1201088 x = 320 y = 307 width = 100 height = 100 border_width = 0 'ConfigureNotify' event come for window 0x1200032 x = 0 y = 0 width = 754 height = 462 border_width = 0 'ConfigureNotify' event come for window 0x1201070 x = 0 y = 0 width = 1 height = 1 border_width = 0 'ConfigureNotify' event come for window 0x1201070 x = 526 y = 0 width = 754 height = 462 border_width = 0 'MapNotify' event come for window 0x1201070 'ConfigureNotify' event come for window 0x1201070 x = 526 y = 0 width = 754 height = 462 border_width = 0 'ConfigureNotify' event come for window 0x16000F2 x = 129 y = 1046 width = 20 height = 20 border_width = 0 'ConfigureNotify' event come for window 0x16000F2 x = 129 y = 1047 width = 20 height = 20 border_width = 0 'ConfigureNotify' event come for window 0x16000F2 x = 129 y = 1049 width = 20 height = 20 border_width = 0 'CreateNotify' event come for window 0x3C000B8 x = 320 y = 307 width = 640 height = 409 border_width = 0 'UnmapNotify' event come for window 0x16000F2 'UnmapNotify' event come for window 0x16000F2 'DestroyNotify' event come for window 0x16000F2 'DestroyNotify' event come for window 0x3C000B8 'ConfigureNotify' event come for window 0x180011A x = 93 y = 898 width = 206 height = 86 border_width = 0 'ConfigureNotify' event come for window 0x180011A x = 133 y = 898 width = 206 height = 86 border_width = 0

pavelp
()

RSS подписка на новые темы