Окно должно оставаться поверх всех остальных окон. Возможно ли это с помощью простого x11/xlib? Googling для «Always on top» и «x11»/«xlib» не принес ничего полезного.X11/Xlib: Окно всегда сверху
Я бы избегал набора инструментов, таких как GTK +, если возможно.
Я использую Ubuntu с рабочим столом gnome. В меню окна есть опция «Always On Top». Это обеспечивается сервером X или оконным менеджером? Если второе имеет место, существует ли общая функция, которую можно вызывать почти для любого wm? Или как это сделать в «X11-общий» способ?
Edit: я реализовал ответ Fizzer, теперь имеющий следующий код:
XSelectInput(this->display, this->window,
ButtonPressMask |
StructureNotifyMask |
ExposureMask |
KeyPressMask |
PropertyChangeMask |
VisibilityChangeMask);
// ...
// In a loop:
if (XPending(this->display) >= 0)
{
XNextEvent(this->display, &ev);
switch(ev.type) {
// ...
case VisibilityNotify:
XRaiseWindow(this->display, this->window);
XFlush(this->display);
break;
// ...
}
}
Но eventhandling и повышение почти никогда не будет выполнена, даже моя маска правильно ?!
Практически все оконный инструментарий низкого уровня определяется в одном или обоих этих языках, так что если это может быть сделано, то это можно сделать в C/C++. Это не вопрос языка. – 2010-12-03 11:58:54
изменил вопрос. конечно, это не о том, возможно ли это с помощью c/C++, но если это было возможно, используя минимальную привязку ** x11/xlib ** только – Atmocreations 2010-12-03 12:05:47
Получаете ли вы другие типы событий? – fizzer 2010-12-03 13:26:32