X11 / Xlib: Janela sempre no topo
Uma janela deve ficar em cima de todas as outras janelas. Isso é possível de alguma forma com o x11 / xlib comum? A pesquisa no Google "Always on top" e "x11" / "xlib" não retornou nada útil.
Eu evitaria kits de ferramentas como o GTK +, se possível.
Estou usando o Ubuntu com o desktop gnome. No menu da janela, há uma opção "Always On Top". Isso é fornecido pelo servidor X ou pelo gerenciador de janelas? Se o segundo for o caso, existe uma função geral que pode ser chamada para praticamente qualquer ui? Ou como fazer isso de maneira "X11 genérica"?
Edit: Eu implementei a resposta do fizzer, agora com o seguinte código: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;
// ...
}
}
Mas a manipulação e o aumento de eventos quase nunca são executados, mesmo minha máscara está correta ?!