1 #include "ecore_xcb_private.h"
2 #include "ecore_x_atoms_decl.h"
4 /* NB: Increment if you add new atoms */
5 #define ECORE_X_ATOMS_COUNT 199
7 typedef struct _Xcb_Atom Xcb_Atom;
14 /* local function prototypes */
17 static xcb_intern_atom_cookie_t cookies[ECORE_X_ATOMS_COUNT];
18 static Xcb_Atom atoms[] =
20 { "ATOM", &ECORE_X_ATOM_ATOM },
21 { "CARDINAL", &ECORE_X_ATOM_CARDINAL },
22 { "COMPOUND_TEXT", &ECORE_X_ATOM_COMPOUND_TEXT },
23 { "FILE_NAME", &ECORE_X_ATOM_FILE_NAME },
24 { "STRING", &ECORE_X_ATOM_STRING },
25 { "TEXT", &ECORE_X_ATOM_TEXT },
26 { "UTF8_STRING", &ECORE_X_ATOM_UTF8_STRING },
27 { "WINDOW", &ECORE_X_ATOM_WINDOW },
28 { "PIXMAP", &ECORE_X_ATOM_PIXMAP },
29 { "VISUALID", &ECORE_X_ATOM_VISUALID },
31 { "JXSelectionWindowProperty", &ECORE_X_ATOM_SELECTION_PROP_XDND },
32 { "XdndSelection", &ECORE_X_ATOM_SELECTION_XDND },
33 { "XdndAware", &ECORE_X_ATOM_XDND_AWARE },
34 { "XdndEnter", &ECORE_X_ATOM_XDND_ENTER },
35 { "XdndTypeList", &ECORE_X_ATOM_XDND_TYPE_LIST },
36 { "XdndPosition", &ECORE_X_ATOM_XDND_POSITION },
37 { "XdndActionCopy", &ECORE_X_ATOM_XDND_ACTION_COPY },
38 { "XdndActionMove", &ECORE_X_ATOM_XDND_ACTION_MOVE },
39 { "XdndActionPrivate", &ECORE_X_ATOM_XDND_ACTION_PRIVATE },
40 { "XdndActionAsk", &ECORE_X_ATOM_XDND_ACTION_ASK },
41 { "XdndActionList", &ECORE_X_ATOM_XDND_ACTION_LIST },
42 { "XdndActionLink", &ECORE_X_ATOM_XDND_ACTION_LINK },
43 { "XdndActionDescription", &ECORE_X_ATOM_XDND_ACTION_DESCRIPTION },
44 { "XdndProxy", &ECORE_X_ATOM_XDND_PROXY },
45 { "XdndStatus", &ECORE_X_ATOM_XDND_STATUS },
46 { "XdndLeave", &ECORE_X_ATOM_XDND_LEAVE },
47 { "XdndDrop", &ECORE_X_ATOM_XDND_DROP },
48 { "XdndFinished", &ECORE_X_ATOM_XDND_FINISHED },
50 { "XdndActionCopy", &ECORE_X_DND_ACTION_COPY },
51 { "XdndActionMove", &ECORE_X_DND_ACTION_MOVE },
52 { "XdndActionLink", &ECORE_X_DND_ACTION_LINK },
53 { "XdndActionAsk", &ECORE_X_DND_ACTION_ASK },
54 { "XdndActionPrivate", &ECORE_X_DND_ACTION_PRIVATE },
56 { "_E_FRAME_SIZE", &ECORE_X_ATOM_E_FRAME_SIZE },
58 { "_WIN_LAYER", &ECORE_X_ATOM_WIN_LAYER },
60 { "WM_NAME", &ECORE_X_ATOM_WM_NAME },
61 { "WM_ICON_NAME", &ECORE_X_ATOM_WM_ICON_NAME },
62 { "WM_NORMAL_HINTS", &ECORE_X_ATOM_WM_NORMAL_HINTS },
63 { "WM_SIZE_HINTS", &ECORE_X_ATOM_WM_SIZE_HINTS },
64 { "WM_HINTS", &ECORE_X_ATOM_WM_HINTS },
65 { "WM_CLASS", &ECORE_X_ATOM_WM_CLASS },
66 { "WM_TRANSIENT_FOR", &ECORE_X_ATOM_WM_TRANSIENT_FOR },
67 { "WM_PROTOCOLS", &ECORE_X_ATOM_WM_PROTOCOLS },
68 { "WM_COLORMAP_WINDOWS", &ECORE_X_ATOM_WM_COLORMAP_WINDOWS },
69 { "WM_COMMAND", &ECORE_X_ATOM_WM_COMMAND },
70 { "WM_CLIENT_MACHINE", &ECORE_X_ATOM_WM_CLIENT_MACHINE },
72 { "WM_STATE", &ECORE_X_ATOM_WM_STATE },
73 { "WM_ICON_SIZE", &ECORE_X_ATOM_WM_ICON_SIZE },
75 { "WM_CHANGE_STATE", &ECORE_X_ATOM_WM_CHANGE_STATE },
77 { "WM_TAKE_FOCUS", &ECORE_X_ATOM_WM_TAKE_FOCUS },
78 { "WM_SAVE_YOURSELF", &ECORE_X_ATOM_WM_SAVE_YOURSELF },
79 { "WM_DELETE_WINDOW", &ECORE_X_ATOM_WM_DELETE_WINDOW },
81 { "WM_COLORMAP_NOTIFY", &ECORE_X_ATOM_WM_COLORMAP_NOTIFY },
83 { "SM_CLIENT_ID", &ECORE_X_ATOM_SM_CLIENT_ID },
84 { "WM_CLIENT_LEADER", &ECORE_X_ATOM_WM_CLIENT_LEADER },
85 { "WM_WINDOW_ROLE", &ECORE_X_ATOM_WM_WINDOW_ROLE },
87 { "_MOTIF_WM_HINTS", &ECORE_X_ATOM_MOTIF_WM_HINTS },
89 { "_NET_SUPPORTED", &ECORE_X_ATOM_NET_SUPPORTED },
90 { "_NET_CLIENT_LIST", &ECORE_X_ATOM_NET_CLIENT_LIST },
91 { "_NET_CLIENT_LIST_STACKING", &ECORE_X_ATOM_NET_CLIENT_LIST_STACKING },
92 { "_NET_NUMBER_OF_DESKTOPS", &ECORE_X_ATOM_NET_NUMBER_OF_DESKTOPS },
93 { "_NET_DESKTOP_GEOMETRY", &ECORE_X_ATOM_NET_DESKTOP_GEOMETRY },
94 { "_NET_DESKTOP_VIEWPORT", &ECORE_X_ATOM_NET_DESKTOP_VIEWPORT },
95 { "_NET_CURRENT_DESKTOP", &ECORE_X_ATOM_NET_CURRENT_DESKTOP },
96 { "_NET_DESKTOP_NAMES", &ECORE_X_ATOM_NET_DESKTOP_NAMES },
97 { "_NET_ACTIVE_WINDOW", &ECORE_X_ATOM_NET_ACTIVE_WINDOW },
98 { "_NET_WORKAREA", &ECORE_X_ATOM_NET_WORKAREA },
99 { "_NET_SUPPORTING_WM_CHECK", &ECORE_X_ATOM_NET_SUPPORTING_WM_CHECK },
100 { "_NET_VIRTUAL_ROOTS", &ECORE_X_ATOM_NET_VIRTUAL_ROOTS },
101 { "_NET_DESKTOP_LAYOUT", &ECORE_X_ATOM_NET_DESKTOP_LAYOUT },
102 { "_NET_SHOWING_DESKTOP", &ECORE_X_ATOM_NET_SHOWING_DESKTOP },
104 { "_NET_CLOSE_WINDOW", &ECORE_X_ATOM_NET_CLOSE_WINDOW },
105 { "_NET_MOVERESIZE_WINDOW", &ECORE_X_ATOM_NET_MOVERESIZE_WINDOW },
106 { "_NET_WM_MOVERESIZE", &ECORE_X_ATOM_NET_WM_MOVERESIZE },
107 { "_NET_RESTACK_WINDOW", &ECORE_X_ATOM_NET_RESTACK_WINDOW },
109 { "_NET_REQUEST_FRAME_EXTENTS", &ECORE_X_ATOM_NET_REQUEST_FRAME_EXTENTS },
111 { "_NET_WM_NAME", &ECORE_X_ATOM_NET_WM_NAME },
112 { "_NET_WM_VISIBLE_NAME", &ECORE_X_ATOM_NET_WM_VISIBLE_NAME },
113 { "_NET_WM_ICON_NAME", &ECORE_X_ATOM_NET_WM_ICON_NAME },
114 { "_NET_WM_VISIBLE_ICON_NAME", &ECORE_X_ATOM_NET_WM_VISIBLE_ICON_NAME },
115 { "_NET_WM_DESKTOP", &ECORE_X_ATOM_NET_WM_DESKTOP },
117 { "_NET_WM_WINDOW_TYPE", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE },
118 { "_NET_WM_WINDOW_TYPE_DESKTOP", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DESKTOP },
119 { "_NET_WM_WINDOW_TYPE_DOCK", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DOCK },
120 { "_NET_WM_WINDOW_TYPE_TOOLBAR", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_TOOLBAR },
121 { "_NET_WM_WINDOW_TYPE_MENU", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_MENU },
122 { "_NET_WM_WINDOW_TYPE_UTILITY", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_UTILITY },
123 { "_NET_WM_WINDOW_TYPE_SPLASH", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_SPLASH },
124 { "_NET_WM_WINDOW_TYPE_DIALOG", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DIALOG },
125 { "_NET_WM_WINDOW_TYPE_NORMAL", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_NORMAL },
126 { "_NET_WM_WINDOW_TYPE_DROPDOWN_MENU",
127 &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DROPDOWN_MENU },
128 { "_NET_WM_WINDOW_TYPE_POPUP_MENU",
129 &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_POPUP_MENU },
130 { "_NET_WM_WINDOW_TYPE_TOOLTIP", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_TOOLTIP },
131 { "_NET_WM_WINDOW_TYPE_NOTIFICATION",
132 &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_NOTIFICATION },
133 { "_NET_WM_WINDOW_TYPE_COMBO", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_COMBO },
134 { "_NET_WM_WINDOW_TYPE_DND", &ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DND },
136 { "_NET_WM_STATE", &ECORE_X_ATOM_NET_WM_STATE },
137 { "_NET_WM_STATE_MODAL", &ECORE_X_ATOM_NET_WM_STATE_MODAL },
138 { "_NET_WM_STATE_STICKY", &ECORE_X_ATOM_NET_WM_STATE_STICKY },
139 { "_NET_WM_STATE_MAXIMIZED_VERT",
140 &ECORE_X_ATOM_NET_WM_STATE_MAXIMIZED_VERT },
141 { "_NET_WM_STATE_MAXIMIZED_HORZ",
142 &ECORE_X_ATOM_NET_WM_STATE_MAXIMIZED_HORZ },
143 { "_NET_WM_STATE_SHADED", &ECORE_X_ATOM_NET_WM_STATE_SHADED },
144 { "_NET_WM_STATE_SKIP_TASKBAR", &ECORE_X_ATOM_NET_WM_STATE_SKIP_TASKBAR },
145 { "_NET_WM_STATE_SKIP_PAGER", &ECORE_X_ATOM_NET_WM_STATE_SKIP_PAGER },
146 { "_NET_WM_STATE_HIDDEN", &ECORE_X_ATOM_NET_WM_STATE_HIDDEN },
147 { "_NET_WM_STATE_FULLSCREEN", &ECORE_X_ATOM_NET_WM_STATE_FULLSCREEN },
148 { "_NET_WM_STATE_ABOVE", &ECORE_X_ATOM_NET_WM_STATE_ABOVE },
149 { "_NET_WM_STATE_BELOW", &ECORE_X_ATOM_NET_WM_STATE_BELOW },
150 { "_NET_WM_STATE_DEMANDS_ATTENTION",
151 &ECORE_X_ATOM_NET_WM_STATE_DEMANDS_ATTENTION },
153 { "_NET_WM_ALLOWED_ACTIONS", &ECORE_X_ATOM_NET_WM_ALLOWED_ACTIONS },
154 { "_NET_WM_ACTION_MOVE", &ECORE_X_ATOM_NET_WM_ACTION_MOVE },
155 { "_NET_WM_ACTION_RESIZE", &ECORE_X_ATOM_NET_WM_ACTION_RESIZE },
156 { "_NET_WM_ACTION_MINIMIZE", &ECORE_X_ATOM_NET_WM_ACTION_MINIMIZE },
157 { "_NET_WM_ACTION_SHADE", &ECORE_X_ATOM_NET_WM_ACTION_SHADE },
158 { "_NET_WM_ACTION_STICK", &ECORE_X_ATOM_NET_WM_ACTION_STICK },
159 { "_NET_WM_ACTION_MAXIMIZE_HORZ",
160 &ECORE_X_ATOM_NET_WM_ACTION_MAXIMIZE_HORZ },
161 { "_NET_WM_ACTION_MAXIMIZE_VERT",
162 &ECORE_X_ATOM_NET_WM_ACTION_MAXIMIZE_VERT },
163 { "_NET_WM_ACTION_FULLSCREEN", &ECORE_X_ATOM_NET_WM_ACTION_FULLSCREEN },
164 { "_NET_WM_ACTION_CHANGE_DESKTOP",
165 &ECORE_X_ATOM_NET_WM_ACTION_CHANGE_DESKTOP },
166 { "_NET_WM_ACTION_CLOSE", &ECORE_X_ATOM_NET_WM_ACTION_CLOSE },
167 { "_NET_WM_ACTION_ABOVE", &ECORE_X_ATOM_NET_WM_ACTION_ABOVE },
168 { "_NET_WM_ACTION_BELOW", &ECORE_X_ATOM_NET_WM_ACTION_BELOW },
170 { "_NET_WM_STRUT", &ECORE_X_ATOM_NET_WM_STRUT },
171 { "_NET_WM_STRUT_PARTIAL", &ECORE_X_ATOM_NET_WM_STRUT_PARTIAL },
172 { "_NET_WM_ICON_GEOMETRY", &ECORE_X_ATOM_NET_WM_ICON_GEOMETRY },
173 { "_NET_WM_ICON", &ECORE_X_ATOM_NET_WM_ICON },
174 { "_NET_WM_PID", &ECORE_X_ATOM_NET_WM_PID },
175 { "_NET_WM_HANDLED_ICONS", &ECORE_X_ATOM_NET_WM_HANDLED_ICONS },
176 { "_NET_WM_USER_TIME", &ECORE_X_ATOM_NET_WM_USER_TIME },
177 { "_NET_STARTUP_ID", &ECORE_X_ATOM_NET_STARTUP_ID },
178 { "_NET_FRAME_EXTENTS", &ECORE_X_ATOM_NET_FRAME_EXTENTS },
180 { "_NET_WM_PING", &ECORE_X_ATOM_NET_WM_PING },
181 { "_NET_WM_SYNC_REQUEST", &ECORE_X_ATOM_NET_WM_SYNC_REQUEST },
182 { "_NET_WM_SYNC_REQUEST_COUNTER",
183 &ECORE_X_ATOM_NET_WM_SYNC_REQUEST_COUNTER },
185 { "_NET_WM_WINDOW_OPACITY", &ECORE_X_ATOM_NET_WM_WINDOW_OPACITY },
186 { "_NET_WM_WINDOW_SHADOW", &ECORE_X_ATOM_NET_WM_WINDOW_SHADOW },
187 { "_NET_WM_WINDOW_SHADE", &ECORE_X_ATOM_NET_WM_WINDOW_SHADE },
189 { "TARGETS", &ECORE_X_ATOM_SELECTION_TARGETS },
190 { "CLIPBOARD", &ECORE_X_ATOM_SELECTION_CLIPBOARD },
191 { "PRIMARY", &ECORE_X_ATOM_SELECTION_PRIMARY },
192 { "SECONDARY", &ECORE_X_ATOM_SELECTION_SECONDARY },
193 { "_ECORE_SELECTION_PRIMARY", &ECORE_X_ATOM_SELECTION_PROP_PRIMARY },
194 { "_ECORE_SELECTION_SECONDARY", &ECORE_X_ATOM_SELECTION_PROP_SECONDARY },
195 { "_ECORE_SELECTION_CLIPBOARD", &ECORE_X_ATOM_SELECTION_PROP_CLIPBOARD },
197 { "_E_VIRTUAL_KEYBOARD", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD },
198 { "_E_VIRTUAL_KEYBOARD_STATE", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_STATE },
199 { "_E_VIRTUAL_KEYBOARD_ON", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_ON },
200 { "_E_VIRTUAL_KEYBOARD_OFF", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_OFF },
201 { "_E_VIRTUAL_KEYBOARD_ALPHA", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_ALPHA },
202 { "_E_VIRTUAL_KEYBOARD_NUMERIC", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_NUMERIC },
203 { "_E_VIRTUAL_KEYBOARD_PIN", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PIN },
204 { "_E_VIRTUAL_KEYBOARD_PHONE_NUMBER",
205 &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PHONE_NUMBER },
206 { "_E_VIRTUAL_KEYBOARD_HEX", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_HEX },
207 { "_E_VIRTUAL_KEYBOARD_TERMINAL",
208 &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_TERMINAL },
209 { "_E_VIRTUAL_KEYBOARD_PASSWORD",
210 &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PASSWORD },
211 { "_E_VIRTUAL_KEYBOARD_IP", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_IP },
212 { "_E_VIRTUAL_KEYBOARD_HOST", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_HOST },
213 { "_E_VIRTUAL_KEYBOARD_FILE", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_FILE },
214 { "_E_VIRTUAL_KEYBOARD_URL", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_URL },
215 { "_E_VIRTUAL_KEYBOARD_KEYPAD", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_KEYPAD },
216 { "_E_VIRTUAL_KEYBOARD_J2ME", &ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_J2ME },
218 { "_E_ILLUME_ZONE", &ECORE_X_ATOM_E_ILLUME_ZONE },
219 { "_E_ILLUME_ZONE_LIST", &ECORE_X_ATOM_E_ILLUME_ZONE_LIST },
220 { "_E_ILLUME_CONFORMANT", &ECORE_X_ATOM_E_ILLUME_CONFORMANT },
221 { "_E_ILLUME_MODE", &ECORE_X_ATOM_E_ILLUME_MODE },
222 { "_E_ILLUME_MODE_SINGLE", &ECORE_X_ATOM_E_ILLUME_MODE_SINGLE },
223 { "_E_ILLUME_MODE_DUAL_TOP", &ECORE_X_ATOM_E_ILLUME_MODE_DUAL_TOP },
224 { "_E_ILLUME_MODE_DUAL_LEFT", &ECORE_X_ATOM_E_ILLUME_MODE_DUAL_LEFT },
225 { "_E_ILLUME_FOCUS_BACK", &ECORE_X_ATOM_E_ILLUME_FOCUS_BACK },
226 { "_E_ILLUME_FOCUS_FORWARD", &ECORE_X_ATOM_E_ILLUME_FOCUS_FORWARD },
227 { "_E_ILLUME_FOCUS_HOME", &ECORE_X_ATOM_E_ILLUME_FOCUS_HOME },
228 { "_E_ILLUME_CLOSE", &ECORE_X_ATOM_E_ILLUME_CLOSE },
229 { "_E_ILLUME_HOME_NEW", &ECORE_X_ATOM_E_ILLUME_HOME_NEW },
230 { "_E_ILLUME_HOME_DEL", &ECORE_X_ATOM_E_ILLUME_HOME_DEL },
231 { "_E_ILLUME_DRAG", &ECORE_X_ATOM_E_ILLUME_DRAG },
232 { "_E_ILLUME_DRAG_LOCKED", &ECORE_X_ATOM_E_ILLUME_DRAG_LOCKED },
233 { "_E_ILLUME_DRAG_START", &ECORE_X_ATOM_E_ILLUME_DRAG_START },
234 { "_E_ILLUME_DRAG_END", &ECORE_X_ATOM_E_ILLUME_DRAG_END },
235 { "_E_ILLUME_INDICATOR_GEOMETRY",
236 &ECORE_X_ATOM_E_ILLUME_INDICATOR_GEOMETRY },
237 { "_E_ILLUME_SOFTKEY_GEOMETRY", &ECORE_X_ATOM_E_ILLUME_SOFTKEY_GEOMETRY },
238 { "_E_ILLUME_KEYBOARD_GEOMETRY", &ECORE_X_ATOM_E_ILLUME_KEYBOARD_GEOMETRY },
239 { "_E_ILLUME_QUICKPANEL", &ECORE_X_ATOM_E_ILLUME_QUICKPANEL },
240 { "_E_ILLUME_QUICKPANEL_STATE", &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE },
241 { "_E_ILLUME_QUICKPANEL_STATE_TOGGLE",
242 &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE_TOGGLE },
243 { "_E_ILLUME_QUICKPANEL_ON", &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ON },
244 { "_E_ILLUME_QUICKPANEL_OFF", &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_OFF },
245 { "_E_ILLUME_QUICKPANEL_PRIORITY_MAJOR",
246 &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MAJOR },
247 { "_E_ILLUME_QUICKPANEL_PRIORITY_MINOR",
248 &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MINOR },
249 { "_E_ILLUME_QUICKPANEL_ZONE", &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ZONE },
250 { "_E_ILLUME_QUICKPANEL_POSITION_UPDATE",
251 &ECORE_X_ATOM_E_ILLUME_QUICKPANEL_POSITION_UPDATE },
252 { "_E_ILLUME_INDICATOR_STATE", &ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE },
253 { "_E_ILLUME_INDICATOR_ON", &ECORE_X_ATOM_E_ILLUME_INDICATOR_ON },
254 { "_E_ILLUME_INDICATOR_OFF", &ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF },
255 { "_E_ILLUME_INDICATOR_OPACITY_MODE", &ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE },
256 { "_E_ILLUME_INDICATOR_OPAQUE", &ECORE_X_ATOM_E_ILLUME_INDICATOR_OPAQUE },
257 { "_E_ILLUME_INDICATOR_TRANSLUCENT", &ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSLUCENT },
258 { "_E_ILLUME_INDICATOR_TRANSPARENT", &ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSPARENT },
259 { "_E_ILLUME_ROTATE_WINDOW_AVAILABLE_ANGLES", &ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_AVAILABLE_ANGLE },
260 { "_E_ILLUME_ROTATE_WINDOW_ANGLE", &ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_ANGLE },
261 { "_E_ILLUME_ROTATE_ROOT_ANGLE", &ECORE_X_ATOM_E_ILLUME_ROTATE_ROOT_ANGLE },
262 { "_E_ILLUME_CLIPBOARD_STATE", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE },
263 { "_E_ILLUME_CLIPBOARD_ON", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON },
264 { "_E_ILLUME_CLIPBOARD_OFF", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF },
265 { "_E_ILLUME_CLIPBOARD_GEOMETRY", &ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY },
266 { "_E_ILLUME_ACCESS_CONTROL", &ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL },
267 { "_E_ILLUME_ACCESS_ACTION_NEXT", &ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_NEXT },
268 { "_E_ILLUME_ACCESS_ACTION_PREV", &ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_PREV },
269 { "_E_ILLUME_ACCESS_ACTION_ACTIVATE", &ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_ACTIVATE },
270 { "_E_ILLUME_ACCESS_ACTION_READ", &ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_READ },
271 { "_E_ILLUME_ACCESS_ACTION_READ_NEXT", &ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_READ_NEXT },
272 { "_E_ILLUME_ACCESS_ACTION_READ_PREV", &ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_READ_PREV },
273 { "_E_COMP_SYNC_COUNTER", &ECORE_X_ATOM_E_COMP_SYNC_COUNTER },
274 { "_E_COMP_SYNC_DRAW_DONE", &ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE },
275 { "_E_COMP_SYNC_SUPPORTED", &ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED },
276 { "_E_COMP_SYNC_BEGIN", &ECORE_X_ATOM_E_COMP_SYNC_BEGIN },
277 { "_E_COMP_SYNC_END", &ECORE_X_ATOM_E_COMP_SYNC_END },
278 { "_E_COMP_SYNC_CANCEL", &ECORE_X_ATOM_E_COMP_SYNC_CANCEL },
280 { "_E_COMP_FLUSH", &ECORE_X_ATOM_E_COMP_FLUSH },
281 { "_E_COMP_DUMP", &ECORE_X_ATOM_E_COMP_DUMP },
282 { "_E_COMP_PIXMAP", &ECORE_X_ATOM_E_COMP_PIXMAP },
283 { "_E_VIDEO_PARENT", &ECORE_X_ATOM_E_VIDEO_PARENT },
284 { "_E_VIDEO_POSITION", &ECORE_X_ATOM_E_VIDEO_POSITION }
288 _ecore_xcb_atoms_init(void)
292 LOGFN(__FILE__, __LINE__, __FUNCTION__);
295 num = (sizeof(atoms) / sizeof(Xcb_Atom));
296 for (i = 0; i < num; i++)
299 xcb_intern_atom_unchecked(_ecore_xcb_conn, 0,
300 strlen(atoms[i].name), atoms[i].name);
305 _ecore_xcb_atoms_finalize(void)
309 LOGFN(__FILE__, __LINE__, __FUNCTION__);
312 num = (sizeof(atoms) / sizeof(Xcb_Atom));
313 for (i = 0; i < num; i++)
315 xcb_intern_atom_reply_t *reply = NULL;
317 if (!(reply = xcb_intern_atom_reply(_ecore_xcb_conn, cookies[i], 0)))
319 *(atoms[i].atom) = reply->atom;
325 * @defgroup Ecore_X_Atom_Group XCB Atom Functions
327 * Functions that operate on atoms
331 * Retrieves the atom value associated to a name.
333 * @param name Unused.
334 * @return Associated atom value.
336 * Retrieves the atom value associated to a name. The reply is the
337 * returned value of the function ecore_xcb_intern_atom_reply(). If
338 * @p reply is @c NULL, the NULL atom is returned. Otherwise, the atom
339 * associated to the name is returned.
341 * To use this function, you must call before, and in order,
342 * ecore_x_atom_get_prefetch(), which sends the InternAtom request,
343 * then ecore_x_atom_get_fetch(), which gets the reply.
345 * @ingroup Ecore_X_Atom_Group
348 ecore_x_atom_get(const char *name)
350 xcb_intern_atom_cookie_t cookie;
351 xcb_intern_atom_reply_t *reply;
354 LOGFN(__FILE__, __LINE__, __FUNCTION__);
357 cookie = xcb_intern_atom_unchecked(_ecore_xcb_conn, 0, strlen(name), name);
358 reply = xcb_intern_atom_reply(_ecore_xcb_conn, cookie, NULL);
359 if (!reply) return XCB_ATOM_NONE;
366 * Retrieves the name of the given atom.
369 * @return The name of the atom.
371 * @ingroup Ecore_X_Atom_Group
374 ecore_x_atom_name_get(Ecore_X_Atom atom)
376 xcb_get_atom_name_cookie_t cookie;
377 xcb_get_atom_name_reply_t *reply;
381 LOGFN(__FILE__, __LINE__, __FUNCTION__);
384 cookie = xcb_get_atom_name_unchecked(_ecore_xcb_conn, atom);
385 reply = xcb_get_atom_name_reply(_ecore_xcb_conn, cookie, NULL);
386 if (!reply) return NULL;
387 len = xcb_get_atom_name_name_length(reply);
388 name = (char *)malloc(sizeof(char) * (len + 1));
394 memcpy(name, xcb_get_atom_name_name(reply), len);
402 ecore_x_atoms_get(const char **names,
406 xcb_intern_atom_cookie_t cookies[num];
409 LOGFN(__FILE__, __LINE__, __FUNCTION__);
412 for (i = 0; i < num; i++)
415 xcb_intern_atom_unchecked(_ecore_xcb_conn, 0,
416 strlen(names[i]), names[i]);
418 for (i = 0; i < num; i++)
420 xcb_intern_atom_reply_t *reply = NULL;
422 if (!(reply = xcb_intern_atom_reply(_ecore_xcb_conn, cookies[i], 0)))
424 atoms[i] = reply->atom;