topmost windows
Deron Johnson
Deron.Johnson at Sun.COM
Tue Jan 10 11:56:10 PST 2006
For what it's worth, I've prototyped the composite priority window idea
and it works like a charm for LG. The change was pretty simple. I just
needed to add another attribute to CompositeChangeWindowAttributes
(which I was prototyping anyway) and then change window.c:RealChildHead
to callt he following function:
WindowPtr
compRealChildHead(WindowPtr pWin)
{
CompWindowAttrPtr cwattr;
WindowPtr pChild, pChildBefore;
if (!pWin->parent &&
(screenIsSaved == SCREEN_SAVER_ON) &&
(HasSaverWindow (pWin->drawable.pScreen->myNum))) {
/*
** First child is the screen saver; see if next child
** is the composite priority window.
*/
pChildBefore = pWin->firstChild;
pChild = pChildBefore->nextSib;
} else {
pChildBefore = NullWindow;
pChild = pWin->firstChild;
}
if (!pChild) {
return NullWindow;
}
cwattr = GetCompWindowAttr(pChild);
if (cwattr && cwattr->priorityWindow) {
return pChild;
} else {
return pChildBefore;
}
}
The topmost window idea will work for LG equally well.
More information about the xorg-arch
mailing list