Enlightenment CVS committal Author : tilman Project : e17 Module : libs/ecore
Dir : e17/libs/ecore/src/lib/ecore_x Modified Files: ecore_xcb_atom.c Log Message: global string tables suck ass. this is better. =================================================================== RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_x/ecore_xcb_atom.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- ecore_xcb_atom.c 13 Apr 2007 17:12:09 -0000 1.1 +++ ecore_xcb_atom.c 7 May 2007 17:57:46 -0000 1.2 @@ -229,161 +229,160 @@ _ecore_xcb_atom_init_finalize. The first one gets the cookies and the second one gets the replies and set the atoms. */ +#define FETCH_ATOM(s) \ + ecore_xcb_atom_init_cookies[i] = \ + xcb_intern_atom(_ecore_xcb_conn, 0, sizeof(s), s); \ + i++ + void _ecore_x_atom_init(void) { - const char *atom_names[ECORE_X_ATOMS_COUNT] = { - /* generic atoms */ - "COMPOUND_TEXT", - "FILE_NAME", - "TEXT", - "UTF8_STRING", - - /* dnd atoms */ - "JXSelectionWindowProperty", - "XdndSelection", - "XdndAware", - "XdndEnter", - "XdndTypeList", - "XdndPosition", - "XdndActionCopy", - "XdndActionMove", - "XdndActionPrivate", - "XdndActionAsk", - "XdndActionList", - "XdndActionLink", - "XdndActionDescription", - "XdndProxy", - "XdndStatus", - "XdndLeave", - "XdndDrop", - "XdndFinished", - - /* old E atom */ - "_E_FRAME_SIZE", - - /* old Gnome atom */ - "_WIN_LAYER", - - /* ICCCM */ - "WM_PROTOCOLS", - "WM_COLORMAP_WINDOWS", - - "WM_STATE", - - "WM_CHANGE_STATE", - - "WM_TAKE_FOCUS", - "WM_SAVE_YOURSELF", - "WM_DELETE_WINDOW", - - "WM_COLORMAP_NOTIFY", - - "SM_CLIENT_ID", - "WM_CLIENT_LEADER", - "WM_WINDOW_ROLE", - - /* Motif WM atom */ - "_MOTIF_WM_HINTS", - - /* NetWM atoms */ - "_NET_SUPPORTED", - "_NET_CLIENT_LIST", - "_NET_CLIENT_LIST_STACKING", - "_NET_NUMBER_OF_DESKTOPS", - "_NET_DESKTOP_GEOMETRY", - "_NET_DESKTOP_VIEWPORT", - "_NET_CURRENT_DESKTOP", - "_NET_DESKTOP_NAMES", - "_NET_ACTIVE_WINDOW", - "_NET_WORKAREA", - "_NET_SUPPORTING_WM_CHECK", - "_NET_VIRTUAL_ROOTS", - "_NET_DESKTOP_LAYOUT", - "_NET_SHOWING_DESKTOP", - - "_NET_CLOSE_WINDOW", - "_NET_MOVERESIZE_WINDOW", - "_NET_WM_MOVERESIZE", - "_NET_RESTACK_WINDOW", - "_NET_REQUEST_FRAME_EXTENTS", - - "_NET_WM_NAME", - "_NET_WM_VISIBLE_NAME", - "_NET_WM_ICON_NAME", - "_NET_WM_VISIBLE_ICON_NAME", - "_NET_WM_DESKTOP", - - "_NET_WM_WINDOW_TYPE", - "_NET_WM_WINDOW_TYPE_DESKTOP", - "_NET_WM_WINDOW_TYPE_DOCK", - "_NET_WM_WINDOW_TYPE_TOOLBAR", - "_NET_WM_WINDOW_TYPE_MENU", - "_NET_WM_WINDOW_TYPE_UTILITY", - "_NET_WM_WINDOW_TYPE_SPLASH", - "_NET_WM_WINDOW_TYPE_DIALOG", - "_NET_WM_WINDOW_TYPE_NORMAL", - - "_NET_WM_STATE", - "_NET_WM_STATE_MODAL", - "_NET_WM_STATE_STICKY", - "_NET_WM_STATE_MAXIMIZED_VERT", - "_NET_WM_STATE_MAXIMIZED_HORZ", - "_NET_WM_STATE_SHADED", - "_NET_WM_STATE_SKIP_TASKBAR", - "_NET_WM_STATE_SKIP_PAGER", - "_NET_WM_STATE_HIDDEN", - "_NET_WM_STATE_FULLSCREEN", - "_NET_WM_STATE_ABOVE", - "_NET_WM_STATE_BELOW", - "_NET_WM_STATE_DEMANDS_ATTENTION", - - "_NET_WM_ALLOWED_ACTIONS", - "_NET_WM_ACTION_MOVE", - "_NET_WM_ACTION_RESIZE", - "_NET_WM_ACTION_MINIMIZE", - "_NET_WM_ACTION_SHADE", - "_NET_WM_ACTION_STICK", - "_NET_WM_ACTION_MAXIMIZE_HORZ", - "_NET_WM_ACTION_MAXIMIZE_VERT", - "_NET_WM_ACTION_FULLSCREEN", - "_NET_WM_ACTION_CHANGE_DESKTOP", - "_NET_WM_ACTION_CLOSE", - - "_NET_WM_STRUT", - "_NET_WM_STRUT_PARTIAL", - "_NET_WM_ICON_GEOMETRY", - "_NET_WM_ICON", - "_NET_WM_PID", - "_NET_WM_HANDLED_ICONS", - "_NET_WM_USER_TIME", - "_NET_STARTUP_ID", - "_NET_FRAME_EXTENTS", - - "_NET_WM_PING", - "_NET_WM_SYNC_REQUEST", - "_NET_WM_SYNC_REQUEST_COUNTER", - - "_NET_WM_WINDOW_OPACITY", - "_NET_WM_WINDOW_SHADOW", - "_NET_WM_WINDOW_SHADE", - - "_NET_STARTUP_INFO_BEGIN", - "_NET_STARTUP_INFO", - - /* selection atoms */ - "TARGETS", - "CLIPBOARD", - "_ECORE_SELECTION_PRIMARY", - "_ECORE_SELECTION_SECONDARY", - "_ECORE_SELECTION_CLIPBOARD" - }; - int i; - - for (i = 0; i < ECORE_X_ATOMS_COUNT; i++) - ecore_xcb_atom_init_cookies[i] = xcb_intern_atom(_ecore_xcb_conn, 0, - strlen(atom_names[i]), - atom_names[i]); + int i = 0; + + /* generic atoms */ + FETCH_ATOM("COMPOUND_TEXT"); + FETCH_ATOM("FILE_NAME"); + FETCH_ATOM("TEXT"); + FETCH_ATOM("UTF8_STRING"); + + /* dnd atoms */ + FETCH_ATOM("JXSelectionWindowProperty"); + FETCH_ATOM("XdndSelection"); + FETCH_ATOM("XdndAware"); + FETCH_ATOM("XdndEnter"); + FETCH_ATOM("XdndTypeList"); + FETCH_ATOM("XdndPosition"); + FETCH_ATOM("XdndActionCopy"); + FETCH_ATOM("XdndActionMove"); + FETCH_ATOM("XdndActionPrivate"); + FETCH_ATOM("XdndActionAsk"); + FETCH_ATOM("XdndActionList"); + FETCH_ATOM("XdndActionLink"); + FETCH_ATOM("XdndActionDescription"); + FETCH_ATOM("XdndProxy"); + FETCH_ATOM("XdndStatus"); + FETCH_ATOM("XdndLeave"); + FETCH_ATOM("XdndDrop"); + FETCH_ATOM("XdndFinished"); + + /* old E atom */ + FETCH_ATOM("_E_FRAME_SIZE"); + + /* old Gnome atom */ + FETCH_ATOM("_WIN_LAYER"); + + /* ICCCM */ + FETCH_ATOM("WM_PROTOCOLS"); + FETCH_ATOM("WM_COLORMAP_WINDOWS"); + + FETCH_ATOM("WM_STATE"); + + FETCH_ATOM("WM_CHANGE_STATE"); + + FETCH_ATOM("WM_TAKE_FOCUS"); + FETCH_ATOM("WM_SAVE_YOURSELF"); + FETCH_ATOM("WM_DELETE_WINDOW"); + + FETCH_ATOM("WM_COLORMAP_NOTIFY"); + + FETCH_ATOM("SM_CLIENT_ID"); + FETCH_ATOM("WM_CLIENT_LEADER"); + FETCH_ATOM("WM_WINDOW_ROLE"); + + /* Motif WM atom */ + FETCH_ATOM("_MOTIF_WM_HINTS"); + + /* NetWM atoms */ + FETCH_ATOM("_NET_SUPPORTED"); + FETCH_ATOM("_NET_CLIENT_LIST"); + FETCH_ATOM("_NET_CLIENT_LIST_STACKING"); + FETCH_ATOM("_NET_NUMBER_OF_DESKTOPS"); + FETCH_ATOM("_NET_DESKTOP_GEOMETRY"); + FETCH_ATOM("_NET_DESKTOP_VIEWPORT"); + FETCH_ATOM("_NET_CURRENT_DESKTOP"); + FETCH_ATOM("_NET_DESKTOP_NAMES"); + FETCH_ATOM("_NET_ACTIVE_WINDOW"); + FETCH_ATOM("_NET_WORKAREA"); + FETCH_ATOM("_NET_SUPPORTING_WM_CHECK"); + FETCH_ATOM("_NET_VIRTUAL_ROOTS"); + FETCH_ATOM("_NET_DESKTOP_LAYOUT"); + FETCH_ATOM("_NET_SHOWING_DESKTOP"); + + FETCH_ATOM("_NET_CLOSE_WINDOW"); + FETCH_ATOM("_NET_MOVERESIZE_WINDOW"); + FETCH_ATOM("_NET_WM_MOVERESIZE"); + FETCH_ATOM("_NET_RESTACK_WINDOW"); + FETCH_ATOM("_NET_REQUEST_FRAME_EXTENTS"); + + FETCH_ATOM("_NET_WM_NAME"); + FETCH_ATOM("_NET_WM_VISIBLE_NAME"); + FETCH_ATOM("_NET_WM_ICON_NAME"); + FETCH_ATOM("_NET_WM_VISIBLE_ICON_NAME"); + FETCH_ATOM("_NET_WM_DESKTOP"); + + FETCH_ATOM("_NET_WM_WINDOW_TYPE"); + FETCH_ATOM("_NET_WM_WINDOW_TYPE_DESKTOP"); + FETCH_ATOM("_NET_WM_WINDOW_TYPE_DOCK"); + FETCH_ATOM("_NET_WM_WINDOW_TYPE_TOOLBAR"); + FETCH_ATOM("_NET_WM_WINDOW_TYPE_MENU"); + FETCH_ATOM("_NET_WM_WINDOW_TYPE_UTILITY"); + FETCH_ATOM("_NET_WM_WINDOW_TYPE_SPLASH"); + FETCH_ATOM("_NET_WM_WINDOW_TYPE_DIALOG"); + FETCH_ATOM("_NET_WM_WINDOW_TYPE_NORMAL"); + + FETCH_ATOM("_NET_WM_STATE"); + FETCH_ATOM("_NET_WM_STATE_MODAL"); + FETCH_ATOM("_NET_WM_STATE_STICKY"); + FETCH_ATOM("_NET_WM_STATE_MAXIMIZED_VERT"); + FETCH_ATOM("_NET_WM_STATE_MAXIMIZED_HORZ"); + FETCH_ATOM("_NET_WM_STATE_SHADED"); + FETCH_ATOM("_NET_WM_STATE_SKIP_TASKBAR"); + FETCH_ATOM("_NET_WM_STATE_SKIP_PAGER"); + FETCH_ATOM("_NET_WM_STATE_HIDDEN"); + FETCH_ATOM("_NET_WM_STATE_FULLSCREEN"); + FETCH_ATOM("_NET_WM_STATE_ABOVE"); + FETCH_ATOM("_NET_WM_STATE_BELOW"); + FETCH_ATOM("_NET_WM_STATE_DEMANDS_ATTENTION"); + + FETCH_ATOM("_NET_WM_ALLOWED_ACTIONS"); + FETCH_ATOM("_NET_WM_ACTION_MOVE"); + FETCH_ATOM("_NET_WM_ACTION_RESIZE"); + FETCH_ATOM("_NET_WM_ACTION_MINIMIZE"); + FETCH_ATOM("_NET_WM_ACTION_SHADE"); + FETCH_ATOM("_NET_WM_ACTION_STICK"); + FETCH_ATOM("_NET_WM_ACTION_MAXIMIZE_HORZ"); + FETCH_ATOM("_NET_WM_ACTION_MAXIMIZE_VERT"); + FETCH_ATOM("_NET_WM_ACTION_FULLSCREEN"); + FETCH_ATOM("_NET_WM_ACTION_CHANGE_DESKTOP"); + FETCH_ATOM("_NET_WM_ACTION_CLOSE"); + + FETCH_ATOM("_NET_WM_STRUT"); + FETCH_ATOM("_NET_WM_STRUT_PARTIAL"); + FETCH_ATOM("_NET_WM_ICON_GEOMETRY"); + FETCH_ATOM("_NET_WM_ICON"); + FETCH_ATOM("_NET_WM_PID"); + FETCH_ATOM("_NET_WM_HANDLED_ICONS"); + FETCH_ATOM("_NET_WM_USER_TIME"); + FETCH_ATOM("_NET_STARTUP_ID"); + FETCH_ATOM("_NET_FRAME_EXTENTS"); + + FETCH_ATOM("_NET_WM_PING"); + FETCH_ATOM("_NET_WM_SYNC_REQUEST"); + FETCH_ATOM("_NET_WM_SYNC_REQUEST_COUNTER"); + + FETCH_ATOM("_NET_WM_WINDOW_OPACITY"); + FETCH_ATOM("_NET_WM_WINDOW_SHADOW"); + FETCH_ATOM("_NET_WM_WINDOW_SHADE"); + + FETCH_ATOM("_NET_STARTUP_INFO_BEGIN"); + FETCH_ATOM("_NET_STARTUP_INFO"); + + /* selection atoms */ + FETCH_ATOM("TARGETS"); + FETCH_ATOM("CLIPBOARD"); + FETCH_ATOM("_ECORE_SELECTION_PRIMARY"); + FETCH_ATOM("_ECORE_SELECTION_SECONDARY"); + FETCH_ATOM("_ECORE_SELECTION_CLIPBOARD"); /* These atoms are already internally defined */ ECORE_X_ATOM_SELECTION_PRIMARY = 1; ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs