/* * xprHideWindows * Hide or unhide all top level windows. This is called for application hide/ * unhide events if the window manager is not Apple-WM aware. Xplugin windows * do not hide or unhide themselves. */ void xprHideWindows(Bool hide) { int screen; WindowPtr pRoot, pWin; for (screen = 0; screen < screenInfo.numScreens; screen++) { pRoot = WindowTable[screenInfo.screens[screen]->myNum]; RootlessFrameID prevWid = NULL; for (pWin = pRoot->firstChild; pWin; pWin = pWin->nextSib) { RootlessWindowRec *winRec = WINREC(pWin); if (winRec != NULL) { if (hide) { xprUnmapFrame(winRec->wid); } else { BoxRec box; xprRestackFrame(winRec->wid, prevWid); prevWid = winRec->wid; box.x1 = 0; box.y1 = 0; box.x2 = winRec->width; box.y2 = winRec->height; xprDamageRects(winRec->wid, 1, &box, 0, 0); RootlessQueueRedisplay(screenInfo.screens[screen]); } } } } }
static void RootlessStoreColors (ColormapPtr pMap, int ndef, xColorItem *pdef) { ScreenPtr pScreen = pMap->pScreen; RootlessScreenRec *s = SCREENREC (pScreen); SCREEN_UNWRAP(pScreen, StoreColors); if (s->colormap == pMap && ndef > 0) { s->colormap_changed = TRUE; RootlessQueueRedisplay (pScreen); } pScreen->StoreColors (pMap, ndef, pdef); SCREEN_WRAP(pScreen, StoreColors); }
static void RootlessInstallColormap (ColormapPtr pMap) { ScreenPtr pScreen = pMap->pScreen; RootlessScreenRec *s = SCREENREC (pScreen); SCREEN_UNWRAP(pScreen, InstallColormap); if (s->colormap != pMap) { s->colormap = pMap; s->colormap_changed = TRUE; RootlessQueueRedisplay (pScreen); } pScreen->InstallColormap (pMap); SCREEN_WRAP (pScreen, InstallColormap); }