EAPI void ecore_x_e_illume_zone_set(Ecore_X_Window win, Ecore_X_Window zone) { LOGFN(__FILE__, __LINE__, __FUNCTION__); ecore_x_window_prop_window_set(win, ECORE_X_ATOM_E_ILLUME_ZONE, &zone, 1); }
EAPI void ecore_x_e_illume_zone_list_set(Ecore_X_Window win, Ecore_X_Window *zones, unsigned int n_zones) { LOGFN(__FILE__, __LINE__, __FUNCTION__); ecore_x_window_prop_window_set(win, ECORE_X_ATOM_E_ILLUME_ZONE_LIST, zones, n_zones); }
/** * Set the window's client leader. * @param win The window * @param l The client leader window * * All non-transient top-level windows created by an app other than * the main window must have this property set to the app's main window. */ EAPI void ecore_x_icccm_client_leader_set(Ecore_X_Window win, Ecore_X_Window l) { LOGFN(__FILE__, __LINE__, __FUNCTION__); ecore_x_window_prop_window_set(win, ECORE_X_ATOM_WM_CLIENT_LEADER, &l, 1); }
static Window ExtInitWinMain(void) { int i, loop, err; Ecore_X_Window win; XGCValues gcv; GC gc; Pixmap pmap; Atom a; EiwData eiwd; EiwLoopFunc *eiwc_loop_func; if (EDebug(EDBUG_TYPE_SESSION)) Eprintf("ExtInitWinMain enter\n"); err = EDisplayOpen(NULL, -1); if (err) return None; EGrabServer(); EImageInit(); eiwd.attr.backing_store = NotUseful; eiwd.attr.override_redirect = True; eiwd.attr.colormap = WinGetCmap(VROOT); eiwd.attr.border_pixel = 0; eiwd.attr.background_pixel = 0; eiwd.attr.save_under = True; win = XCreateWindow(disp, WinGetXwin(VROOT), 0, 0, WinGetW(VROOT), WinGetH(VROOT), 0, CopyFromParent, InputOutput, CopyFromParent, CWOverrideRedirect | CWSaveUnder | CWBackingStore | CWColormap | CWBackPixel | CWBorderPixel, &eiwd.attr); pmap = XCreatePixmap(disp, win, WinGetW(VROOT), WinGetH(VROOT), WinGetDepth(VROOT)); gcv.subwindow_mode = IncludeInferiors; gc = XCreateGC(disp, win, GCSubwindowMode, &gcv); XCopyArea(disp, WinGetXwin(VROOT), pmap, gc, 0, 0, WinGetW(VROOT), WinGetH(VROOT), 0, 0); XSetWindowBackgroundPixmap(disp, win, pmap); XMapRaised(disp, win); XFreePixmap(disp, pmap); XFreeGC(disp, gc); a = EInternAtom("ENLIGHTENMENT_RESTART_SCREEN"); ecore_x_window_prop_window_set(WinGetXwin(VROOT), a, &win, 1); XSelectInput(disp, win, StructureNotifyMask); EUngrabServer(); ESync(0); #if USE_EIWC_WINDOW && USE_EIWC_RENDER eiwc_loop_func = _eiw_render_init(win, &eiwd); if (!eiwc_loop_func) eiwc_loop_func = _eiw_window_init(win, &eiwd); #elif USE_EIWC_RENDER eiwc_loop_func = _eiw_render_init(win, &eiwd); #elif USE_EIWC_WINDOW eiwc_loop_func = _eiw_window_init(win, &eiwd); #endif if (!eiwc_loop_func) return None; { XWindowAttributes xwa; char s[1024]; EImage *im; for (i = loop = 1;; i++, loop++) { if (i > 12) i = 1; /* If we get unmapped we are done */ XGetWindowAttributes(disp, win, &xwa); if (xwa.map_state == IsUnmapped) break; Esnprintf(s, sizeof(s), "pix/wait%i.png", i); if (EDebug(EDBUG_TYPE_SESSION) > 1) Eprintf("ExtInitWinCreate - child %s\n", s); im = ThemeImageLoad(s); if (im) { eiwc_loop_func(win, im, &eiwd); EImageFree(im); } ESync(0); usleep(50000); /* If we still are here after 5 sec something is wrong. */ if (loop > 100) break; } } if (EDebug(EDBUG_TYPE_SESSION)) Eprintf("ExtInitWinMain exit\n"); EDisplayClose(); exit(0); }