EAPI Ecore_X_Window ecore_x_e_illume_zone_get(Ecore_X_Window win) { Ecore_X_Window zone; LOGFN(__FILE__, __LINE__, __FUNCTION__); if (!ecore_x_window_prop_window_get(win, ECORE_X_ATOM_E_ILLUME_ZONE, &zone, 1)) return 0; return zone; }
Window ExtInitWinCreate(void) { Ecore_X_Window win_ex; /* Hmmm.. */ Window win; Atom a; if (EDebug(EDBUG_TYPE_SESSION)) Eprintf("ExtInitWinCreate\n"); a = EInternAtom("ENLIGHTENMENT_RESTART_SCREEN"); ESync(0); if (fork()) { /* Parent */ EUngrabServer(); for (;;) { if (EDebug(EDBUG_TYPE_SESSION)) Eprintf("ExtInitWinCreate - parent\n"); /* Hack to give the child some space. Not foolproof. */ sleep(1); if (ecore_x_window_prop_window_get (WinGetXwin(VROOT), a, &win_ex, 1) > 0) break; } win = win_ex; if (EDebug(EDBUG_TYPE_SESSION)) Eprintf("ExtInitWinCreate - parent - %#lx\n", win); return win; } /* Child - Create the init window */ if (EDebug(EDBUG_TYPE_SESSION)) Eprintf("ExtInitWinCreate - child\n"); /* Clean up inherited stuff */ SignalsRestore(); EImageExit(0); EDisplayDisconnect(); ExtInitWinMain(); /* We will never get here */ return None; }
/** * Get the window's client leader. * @param win The window * @return The window's client leader window, or 0 if unset */ EAPI Ecore_X_Window ecore_x_icccm_client_leader_get(Ecore_X_Window win) { Ecore_X_Window l; LOGFN(__FILE__, __LINE__, __FUNCTION__); if (ecore_x_window_prop_window_get(win, ECORE_X_ATOM_WM_CLIENT_LEADER, &l, 1) > 0) return l; return 0; }