Fixed slit:onTop and toolbar:onTop bug
This commit is contained in:
parent
4689664af0
commit
1ffec7ce96
1 changed files with 23 additions and 22 deletions
|
@ -1,3 +1,4 @@
|
||||||
|
// $id$
|
||||||
// Screen.cc for Blackbox - an X11 Window manager
|
// Screen.cc for Blackbox - an X11 Window manager
|
||||||
// Copyright (c) 1997 - 2000 Brad Hughes (bhughes@tcac.net)
|
// Copyright (c) 1997 - 2000 Brad Hughes (bhughes@tcac.net)
|
||||||
//
|
//
|
||||||
|
@ -775,53 +776,53 @@ void BScreen::updateNetizenConfigNotify(XEvent *e) {
|
||||||
|
|
||||||
|
|
||||||
void BScreen::raiseWindows(Window *workspace_stack, int num) {
|
void BScreen::raiseWindows(Window *workspace_stack, int num) {
|
||||||
Window *session_stack = new
|
Window session_stack[(num + workspacesList->count() + rootmenuList->count() + 13)];
|
||||||
Window[(num + workspacesList->count() + rootmenuList->count() + 13)];
|
int i = 0;
|
||||||
int i = 0, k = num;
|
|
||||||
|
|
||||||
XRaiseWindow(getBaseDisplay()->getXDisplay(), iconmenu->getWindowID());
|
XRaiseWindow(getBaseDisplay()->getXDisplay(), iconmenu->getWindowID());
|
||||||
*(session_stack + i++) = iconmenu->getWindowID();
|
session_stack[i++] = iconmenu->getWindowID();
|
||||||
|
|
||||||
LinkedListIterator<Workspace> wit(workspacesList);
|
LinkedListIterator<Workspace> wit(workspacesList);
|
||||||
for (; wit.current(); wit++)
|
for (; wit.current(); wit++)
|
||||||
*(session_stack + i++) = wit.current()->getMenu()->getWindowID();
|
session_stack[i++] = wit.current()->getMenu()->getWindowID();
|
||||||
|
|
||||||
*(session_stack + i++) = workspacemenu->getWindowID();
|
session_stack[i++] = workspacemenu->getWindowID();
|
||||||
|
|
||||||
*(session_stack + i++) = configmenu->getFocusmenu()->getWindowID();
|
session_stack[i++] = configmenu->getFocusmenu()->getWindowID();
|
||||||
*(session_stack + i++) = configmenu->getPlacementmenu()->getWindowID();
|
session_stack[i++] = configmenu->getPlacementmenu()->getWindowID();
|
||||||
*(session_stack + i++) = configmenu->getTabmenu()->getWindowID();
|
session_stack[i++] = configmenu->getTabmenu()->getWindowID();
|
||||||
*(session_stack + i++) = configmenu->getWindowID();
|
session_stack[i++] = configmenu->getWindowID();
|
||||||
|
|
||||||
#ifdef SLIT
|
#ifdef SLIT
|
||||||
*(session_stack + i++) = slit->getMenu()->getDirectionmenu()->getWindowID();
|
session_stack[i++] = slit->getMenu()->getDirectionmenu()->getWindowID();
|
||||||
*(session_stack + i++) = slit->getMenu()->getPlacementmenu()->getWindowID();
|
session_stack[i++] = slit->getMenu()->getPlacementmenu()->getWindowID();
|
||||||
*(session_stack + i++) = slit->getMenu()->getWindowID();
|
session_stack[i++] = slit->getMenu()->getWindowID();
|
||||||
#endif // SLIT
|
#endif // SLIT
|
||||||
|
|
||||||
*(session_stack + i++) =
|
session_stack[i++] =
|
||||||
toolbar->getMenu()->getPlacementmenu()->getWindowID();
|
toolbar->getMenu()->getPlacementmenu()->getWindowID();
|
||||||
*(session_stack + i++) = toolbar->getMenu()->getWindowID();
|
session_stack[i++] = toolbar->getMenu()->getWindowID();
|
||||||
|
|
||||||
LinkedListIterator<Rootmenu> rit(rootmenuList);
|
LinkedListIterator<Rootmenu> rit(rootmenuList);
|
||||||
for (; rit.current(); rit++)
|
for (; rit.current(); rit++)
|
||||||
*(session_stack + i++) = rit.current()->getWindowID();
|
session_stack[i++] = rit.current()->getWindowID();
|
||||||
*(session_stack + i++) = rootmenu->getWindowID();
|
session_stack[i++] = rootmenu->getWindowID();
|
||||||
|
|
||||||
if (toolbar->isOnTop())
|
if (toolbar->isOnTop())
|
||||||
*(session_stack + i++) = toolbar->getWindowID();
|
session_stack[i++] = toolbar->getWindowID();
|
||||||
|
|
||||||
#ifdef SLIT
|
#ifdef SLIT
|
||||||
if (slit->isOnTop())
|
if (slit->isOnTop())
|
||||||
*(session_stack + i++) = slit->getWindowID();
|
session_stack[i++] = slit->getWindowID();
|
||||||
#endif // SLIT
|
#endif // SLIT
|
||||||
|
|
||||||
|
int k=num;
|
||||||
while (k--)
|
while (k--)
|
||||||
*(session_stack + i++) = *(workspace_stack + k);
|
session_stack[i++] = *(workspace_stack + k);
|
||||||
|
|
||||||
XRestackWindows(getBaseDisplay()->getXDisplay(), session_stack, i);
|
XRestackWindows(getBaseDisplay()->getXDisplay(), session_stack, i);
|
||||||
|
|
||||||
delete [] session_stack;
|
// delete session_stack;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue