Enlightenment CVS committal Author : raster Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_atoms.c e_hints.c e_manager.c Log Message: get hints in batches =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_atoms.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -3 -r1.14 -r1.15 --- e_atoms.c 7 Jan 2006 10:39:45 -0000 1.14 +++ e_atoms.c 9 Jul 2008 15:25:20 -0000 1.15 @@ -19,17 +19,31 @@ EAPI int e_atoms_init(void) { - E_ATOM_MANAGED = ecore_x_atom_get("__E_WINDOW_MANAGED"); - E_ATOM_CONTAINER = ecore_x_atom_get("__E_WINDOW_CONTAINER"); - E_ATOM_ZONE = ecore_x_atom_get("__E_WINDOW_ZONE"); - E_ATOM_DESK = ecore_x_atom_get("__E_WINDOW_DESK"); - E_ATOM_MAPPED = ecore_x_atom_get("__E_WINDOW_MAPPED"); - E_ATOM_SHADE_DIRECTION = ecore_x_atom_get("__E_WINDOW_SHADE_DIRECTION"); - E_ATOM_HIDDEN = ecore_x_atom_get("__E_WINDOW_HIDDEN"); - E_ATOM_BORDER_SIZE = ecore_x_atom_get("__E_WINDOW_BORDER_SIZE"); - E_ATOM_WINDOW_STATE = ecore_x_atom_get("__E_ATOM_WINDOW_STATE"); - E_ATOM_WINDOW_STATE_CENTERED = ecore_x_atom_get("__E_ATOM_WINDOW_STATE_CENTERED"); - + const char *atom_names[] = { + "__E_WINDOW_MANAGED", + "__E_WINDOW_CONTAINER", + "__E_WINDOW_ZONE", + "__E_WINDOW_DESK", + "__E_WINDOW_MAPPED", + "__E_WINDOW_SHADE_DIRECTION", + "__E_WINDOW_HIDDEN", + "__E_WINDOW_BORDER_SIZE", + "__E_ATOM_WINDOW_STATE", + "__E_ATOM_WINDOW_STATE_CENTERED" + }; + Ecore_X_Atom atoms[10]; + + ecore_x_atoms_get(atom_names, 10, atoms); + E_ATOM_MANAGED = atoms[0]; + E_ATOM_CONTAINER = atoms[1]; + E_ATOM_ZONE = atoms[2]; + E_ATOM_DESK = atoms[3]; + E_ATOM_MAPPED = atoms[4]; + E_ATOM_SHADE_DIRECTION = atoms[5]; + E_ATOM_HIDDEN = atoms[6]; + E_ATOM_BORDER_SIZE = atoms[7]; + E_ATOM_WINDOW_STATE = atoms[8]; + E_ATOM_WINDOW_STATE_CENTERED = atoms[9]; return 1; } =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_hints.c,v retrieving revision 1.99 retrieving revision 1.100 diff -u -3 -r1.99 -r1.100 --- e_hints.c 5 Jul 2008 09:22:14 -0000 1.99 +++ e_hints.c 9 Jul 2008 15:25:20 -0000 1.100 @@ -6,14 +6,31 @@ Ecore_X_Atom _QTOPIA_SOFT_MENU = 0; Ecore_X_Atom _QTOPIA_SOFT_MENUS = 0; +static Ecore_X_Atom gnome_atom = 0; +static Ecore_X_Atom enlightenment_comms = 0; +static Ecore_X_Atom enlightenment_version = 0; + EAPI void e_hints_init(void) { Ecore_X_Window *roots = NULL; int num; - - _QTOPIA_SOFT_MENU = ecore_x_atom_get("_QTOPIA_SOFT_MENU"); - _QTOPIA_SOFT_MENUS = ecore_x_atom_get("_QTOPIA_SOFT_MENUS"); + const char *atom_names[] = { + "_QTOPIA_SOFT_MENU", + "_QTOPIA_SOFT_MENUS", + "GNOME_SM_PROXY", + "ENLIGHTENMENT_COMMS", + "ENLIGHTENMENT_VERSION" + }; + Ecore_X_Atom atoms[5]; + + ecore_x_atoms_get(atom_names, 5, atoms); + _QTOPIA_SOFT_MENU = atoms[0]; + _QTOPIA_SOFT_MENUS = atoms[1]; + gnome_atom = atoms[2]; + enlightenment_comms = atoms[3]; + enlightenment_version = atoms[4]; + roots = ecore_x_window_root_list(&num); if (roots) { @@ -173,24 +190,19 @@ e_hints_e16_comms_pretend(E_Manager *man) { Ecore_X_Window win; - Ecore_X_Atom enlightenment_comms, enlightenment_version, string; char buf[256]; - enlightenment_comms = ecore_x_atom_get("ENLIGHTENMENT_COMMS"); - enlightenment_version = ecore_x_atom_get("ENLIGHTENMENT_VERSION"); - string = ecore_x_atom_get("STRING"); - win = ecore_x_window_input_new(man->root, -100, -100, 1, 1); /* to help detect this is NOT e16 */ snprintf(buf, sizeof(buf), "Enlightenment %s", VERSION); - ecore_x_window_prop_property_set(win, enlightenment_version, string, 8, buf, strlen(buf)); - ecore_x_window_prop_property_set(man->root, enlightenment_version, string, 8, buf, strlen(buf)); + ecore_x_window_prop_property_set(win, enlightenment_version, ECORE_X_ATOM_STRING, 8, buf, strlen(buf)); + ecore_x_window_prop_property_set(man->root, enlightenment_version, ECORE_X_ATOM_STRING, 8, buf, strlen(buf)); snprintf(buf, sizeof(buf), "WINID %8x", (int)win); - ecore_x_window_prop_property_set(win, enlightenment_comms, string, 8, buf, 14); + ecore_x_window_prop_property_set(win, enlightenment_comms, ECORE_X_ATOM_STRING, 8, buf, 14); - ecore_x_window_prop_property_set(man->root, enlightenment_comms, string, 8, buf, 14); + ecore_x_window_prop_property_set(man->root, enlightenment_comms, ECORE_X_ATOM_STRING, 8, buf, 14); } EAPI void @@ -1370,12 +1382,9 @@ EAPI void e_hints_openoffice_gnome_fake(Ecore_X_Window root) { - Ecore_X_Atom gnome_atom, string_atom; const char *string = "GNOME_SM_PROXY"; - gnome_atom = ecore_x_atom_get("GNOME_SM_PROXY"); - string_atom = ecore_x_atom_get("STRING"); - ecore_x_window_prop_property_set(root, gnome_atom, string_atom, + ecore_x_window_prop_property_set(root, gnome_atom, ECORE_X_ATOM_STRING, 8, (void *)string, strlen(string)); } =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_manager.c,v retrieving revision 1.71 retrieving revision 1.72 diff -u -3 -r1.71 -r1.72 --- e_manager.c 30 Jun 2008 08:48:29 -0000 1.71 +++ e_manager.c 9 Jul 2008 15:25:20 -0000 1.72 @@ -163,15 +163,23 @@ if (windows) { int i; + const char *atom_names[] = + { + "_XEMBED_INFO", + "_KDE_NET_WM_SYSTEM_TRAY_WINDOW_FOR", + "KWM_DOCKWINDOW" + }; + Ecore_X_Atom atoms[3]; Ecore_X_Atom atom_xmbed, atom_kde_netwm_systray, atom_kwm_dockwindow, atom_window; unsigned char *data = NULL; int count; - atom_window = ecore_x_atom_get("WINDOW"); - atom_xmbed = ecore_x_atom_get("_XEMBED_INFO"); - atom_kde_netwm_systray = ecore_x_atom_get("_KDE_NET_WM_SYSTEM_TRAY_WINDOW_FOR"); - atom_kwm_dockwindow = ecore_x_atom_get("KWM_DOCKWINDOW"); + atom_window = ECORE_X_ATOM_WINDOW; + ecore_x_atoms_get(atom_names, 3, atoms); + atom_xmbed = atoms[0]; + atom_kde_netwm_systray = atoms[1]; + atom_kwm_dockwindow = atoms[2]; for (i = 0; i < wnum; i++) { Ecore_X_Window_Attributes att; ------------------------------------------------------------------------- Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs