1 #include "ecore_xcb_private.h"
3 /* local function prototypes */
4 static Ecore_X_Atom _ecore_xcb_e_vkbd_atom_get(Ecore_X_Virtual_Keyboard_State state);
5 static Ecore_X_Virtual_Keyboard_State _ecore_xcb_e_vkbd_state_get(Ecore_X_Atom atom);
6 static Ecore_X_Atom _ecore_xcb_e_quickpanel_atom_get(Ecore_X_Illume_Quickpanel_State state);
7 static Ecore_X_Illume_Quickpanel_State _ecore_xcb_e_quickpanel_state_get(Ecore_X_Atom atom);
8 static Ecore_X_Atom _ecore_xcb_e_illume_atom_get(Ecore_X_Illume_Mode mode);
9 static Ecore_X_Illume_Mode _ecore_xcb_e_illume_mode_get(Ecore_X_Atom atom);
10 static Ecore_X_Atom _ecore_xcb_e_indicator_atom_get(Ecore_X_Illume_Indicator_State state);
11 static Ecore_X_Illume_Indicator_State _ecore_xcb_e_indicator_state_get(Ecore_X_Atom atom);
19 ecore_x_e_comp_sync_draw_done_send(Ecore_X_Window root,
22 xcb_client_message_event_t ev;
24 LOGFN(__FILE__, __LINE__, __FUNCTION__);
27 if (!root) root = ((xcb_screen_t *)_ecore_xcb_screen)->root;
29 memset(&ev, 0, sizeof(xcb_client_message_event_t));
31 ev.response_type = XCB_CLIENT_MESSAGE;
34 ev.type = ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE;
35 ev.data.data32[0] = win;
36 ev.data.data32[1] = 0;
37 ev.data.data32[2] = 0;
38 ev.data.data32[3] = 0;
39 ev.data.data32[4] = 0;
41 xcb_send_event(_ecore_xcb_conn, 0, root,
42 (XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT |
43 XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY), (const char *)&ev);
48 ecore_x_e_comp_sync_draw_size_done_send(Ecore_X_Window root,
53 xcb_client_message_event_t ev;
55 LOGFN(__FILE__, __LINE__, __FUNCTION__);
58 if (!root) root = ((xcb_screen_t *)_ecore_xcb_screen)->root;
60 memset(&ev, 0, sizeof(xcb_client_message_event_t));
62 ev.response_type = XCB_CLIENT_MESSAGE;
65 ev.type = ECORE_X_ATOM_E_COMP_SYNC_DRAW_DONE;
66 ev.data.data32[0] = win;
67 ev.data.data32[1] = 1;
68 ev.data.data32[2] = w;
69 ev.data.data32[3] = h;
70 ev.data.data32[4] = 0;
72 xcb_send_event(_ecore_xcb_conn, 0, root,
73 (XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT |
74 XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY), (const char *)&ev);
79 ecore_x_e_comp_sync_counter_set(Ecore_X_Window win,
80 Ecore_X_Sync_Counter counter)
82 LOGFN(__FILE__, __LINE__, __FUNCTION__);
85 ecore_x_window_prop_xid_set(win, ECORE_X_ATOM_E_COMP_SYNC_COUNTER,
86 ECORE_X_ATOM_CARDINAL, &counter, 1);
88 ecore_x_window_prop_property_del(win, ECORE_X_ATOM_E_COMP_SYNC_COUNTER);
91 EAPI Ecore_X_Sync_Counter
92 ecore_x_e_comp_sync_counter_get(Ecore_X_Window win)
94 Ecore_X_Sync_Counter counter = 0;
97 LOGFN(__FILE__, __LINE__, __FUNCTION__);
99 ret = ecore_x_window_prop_xid_get(win, ECORE_X_ATOM_E_COMP_SYNC_COUNTER,
100 ECORE_X_ATOM_CARDINAL, &counter, 1);
101 if (ret != 1) return 0;
106 ecore_x_e_comp_sync_supported_get(Ecore_X_Window root)
108 Ecore_X_Window win, win2;
111 LOGFN(__FILE__, __LINE__, __FUNCTION__);
113 if (!root) root = ((xcb_screen_t *)_ecore_xcb_screen)->root;
115 ecore_x_window_prop_xid_get(root, ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED,
116 ECORE_X_ATOM_WINDOW, &win, 1);
117 if ((ret == 1) && (win))
120 ecore_x_window_prop_xid_get(win, ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED,
121 ECORE_X_ATOM_WINDOW, &win2, 1);
122 if ((ret == 1) && (win2 == win))
129 ecore_x_e_window_profile_list_set(Ecore_X_Window win,
130 const char **profiles,
131 unsigned int num_profiles)
135 LOGFN(__FILE__, __LINE__, __FUNCTION__);
140 ecore_x_window_prop_property_del(win, ECORE_X_ATOM_E_PROFILE_LIST);
143 atoms = alloca(num_profiles * sizeof(Ecore_X_Atom));
144 ecore_x_atoms_get(profiles, num_profiles, atoms);
145 ecore_x_window_prop_property_set(win,
146 ECORE_X_ATOM_E_PROFILE_LIST,
147 ECORE_X_ATOM_ATOM, 32, (void *)atoms,
153 ecore_x_e_window_profile_list_get(Ecore_X_Window win,
154 const char ***profiles,
157 unsigned char *data = NULL;
170 LOGFN(__FILE__, __LINE__, __FUNCTION__);
171 if (!ecore_x_window_prop_property_get(win,
172 ECORE_X_ATOM_E_PROFILE_LIST,
173 ECORE_X_ATOM_ATOM, 32, &data, &num))
181 (*profiles) = calloc(num, sizeof(char *));
193 atoms = (Ecore_X_Atom *)data;
194 for (i = 0; i < num; i++)
195 (*profiles)[i] = ecore_x_atom_name_get(atoms[i]);
205 ecore_x_e_window_profile_set(Ecore_X_Window win,
210 LOGFN(__FILE__, __LINE__, __FUNCTION__);
215 ecore_x_window_prop_property_del(win, ECORE_X_ATOM_E_PROFILE);
218 atom = ecore_x_atom_get(profile);
219 ecore_x_window_prop_property_set(win, ECORE_X_ATOM_E_PROFILE,
220 ECORE_X_ATOM_ATOM, 32, (void *)&atom, 1);
225 ecore_x_e_window_profile_get(Ecore_X_Window win)
227 Ecore_X_Atom *atom = NULL;
229 char *profile = NULL;
232 LOGFN(__FILE__, __LINE__, __FUNCTION__);
233 if (!ecore_x_window_prop_property_get(win, ECORE_X_ATOM_E_PROFILE,
234 ECORE_X_ATOM_ATOM, 32, &data, &num))
238 atom = (Ecore_X_Atom *)data;
241 profile = ecore_x_atom_name_get(atom[0]);
247 ecore_x_e_comp_sync_supported_set(Ecore_X_Window root,
252 LOGFN(__FILE__, __LINE__, __FUNCTION__);
254 if (!root) root = ((xcb_screen_t *)_ecore_xcb_screen)->root;
257 win = ecore_x_window_new(root, 1, 2, 3, 4);
258 ecore_x_window_prop_xid_set(win, ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED,
259 ECORE_X_ATOM_WINDOW, &win, 1);
260 ecore_x_window_prop_xid_set(root, ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED,
261 ECORE_X_ATOM_WINDOW, &win, 1);
267 ret = ecore_x_window_prop_xid_get(root,
268 ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED,
269 ECORE_X_ATOM_WINDOW, &win, 1);
270 if ((ret == 1) && (win))
272 ecore_x_window_prop_property_del(root,
273 ECORE_X_ATOM_E_COMP_SYNC_SUPPORTED);
274 ecore_x_window_free(win);
280 ecore_x_e_comp_sync_begin_send(Ecore_X_Window win)
282 xcb_client_message_event_t ev;
284 LOGFN(__FILE__, __LINE__, __FUNCTION__);
287 memset(&ev, 0, sizeof(xcb_client_message_event_t));
289 ev.response_type = XCB_CLIENT_MESSAGE;
292 ev.type = ECORE_X_ATOM_E_COMP_SYNC_BEGIN;
293 ev.data.data32[0] = win;
294 ev.data.data32[1] = 0;
295 ev.data.data32[2] = 0;
296 ev.data.data32[3] = 0;
297 ev.data.data32[4] = 0;
299 xcb_send_event(_ecore_xcb_conn, 0, win,
300 XCB_EVENT_MASK_NO_EVENT, (const char *)&ev);
305 ecore_x_e_comp_sync_end_send(Ecore_X_Window win)
307 xcb_client_message_event_t ev;
309 LOGFN(__FILE__, __LINE__, __FUNCTION__);
312 memset(&ev, 0, sizeof(xcb_client_message_event_t));
314 ev.response_type = XCB_CLIENT_MESSAGE;
317 ev.type = ECORE_X_ATOM_E_COMP_SYNC_END;
318 ev.data.data32[0] = win;
319 ev.data.data32[1] = 0;
320 ev.data.data32[2] = 0;
321 ev.data.data32[3] = 0;
322 ev.data.data32[4] = 0;
324 xcb_send_event(_ecore_xcb_conn, 0, win,
325 XCB_EVENT_MASK_NO_EVENT, (const char *)&ev);
330 ecore_x_e_comp_sync_cancel_send(Ecore_X_Window win)
332 xcb_client_message_event_t ev;
334 LOGFN(__FILE__, __LINE__, __FUNCTION__);
337 memset(&ev, 0, sizeof(xcb_client_message_event_t));
339 ev.response_type = XCB_CLIENT_MESSAGE;
342 ev.type = ECORE_X_ATOM_E_COMP_SYNC_CANCEL;
343 ev.data.data32[0] = win;
344 ev.data.data32[1] = 0;
345 ev.data.data32[2] = 0;
346 ev.data.data32[3] = 0;
347 ev.data.data32[4] = 0;
349 xcb_send_event(_ecore_xcb_conn, 0, win,
350 XCB_EVENT_MASK_NO_EVENT, (const char *)&ev);
355 ecore_x_e_comp_flush_send(Ecore_X_Window win)
357 xcb_client_message_event_t ev;
359 LOGFN(__FILE__, __LINE__, __FUNCTION__);
362 memset(&ev, 0, sizeof(xcb_client_message_event_t));
364 ev.response_type = XCB_CLIENT_MESSAGE;
367 ev.type = ECORE_X_ATOM_E_COMP_FLUSH;
368 ev.data.data32[0] = win;
369 ev.data.data32[1] = 0;
370 ev.data.data32[2] = 0;
371 ev.data.data32[3] = 0;
372 ev.data.data32[4] = 0;
374 xcb_send_event(_ecore_xcb_conn, 0, win,
375 XCB_EVENT_MASK_NO_EVENT, (const char *)&ev);
380 ecore_x_e_comp_dump_send(Ecore_X_Window win)
382 xcb_client_message_event_t ev;
384 LOGFN(__FILE__, __LINE__, __FUNCTION__);
387 memset(&ev, 0, sizeof(xcb_client_message_event_t));
389 ev.response_type = XCB_CLIENT_MESSAGE;
392 ev.type = ECORE_X_ATOM_E_COMP_DUMP;
393 ev.data.data32[0] = win;
394 ev.data.data32[1] = 0;
395 ev.data.data32[2] = 0;
396 ev.data.data32[3] = 0;
397 ev.data.data32[4] = 0;
399 xcb_send_event(_ecore_xcb_conn, 0, win,
400 XCB_EVENT_MASK_NO_EVENT, (const char *)&ev);
405 ecore_x_e_comp_pixmap_set(Ecore_X_Window win,
406 Ecore_X_Pixmap pixmap)
408 LOGFN(__FILE__, __LINE__, __FUNCTION__);
411 ecore_x_window_prop_xid_set(win, ECORE_X_ATOM_E_COMP_PIXMAP,
412 ECORE_X_ATOM_PIXMAP, &pixmap, 1);
414 ecore_x_window_prop_property_del(win, pixmap);
418 ecore_x_e_comp_pixmap_get(Ecore_X_Window win)
420 Ecore_X_Pixmap pixmap = 0;
423 LOGFN(__FILE__, __LINE__, __FUNCTION__);
425 ret = ecore_x_window_prop_xid_get(win, ECORE_X_ATOM_E_COMP_PIXMAP,
426 ECORE_X_ATOM_PIXMAP, &pixmap, 1);
427 if (ret != 1) return 0;
432 ecore_x_e_frame_size_set(Ecore_X_Window win,
440 LOGFN(__FILE__, __LINE__, __FUNCTION__);
446 ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_FRAME_SIZE, frames, 4);
449 EAPI Ecore_X_Virtual_Keyboard_State
450 ecore_x_e_virtual_keyboard_state_get(Ecore_X_Window win)
452 Ecore_X_Atom atom = 0;
454 LOGFN(__FILE__, __LINE__, __FUNCTION__);
456 if (!ecore_x_window_prop_atom_get(win, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_STATE,
458 return ECORE_X_VIRTUAL_KEYBOARD_STATE_UNKNOWN;
460 return _ecore_xcb_e_vkbd_state_get(atom);
464 ecore_x_e_virtual_keyboard_state_set(Ecore_X_Window win,
465 Ecore_X_Virtual_Keyboard_State state)
467 Ecore_X_Atom atom = 0;
469 LOGFN(__FILE__, __LINE__, __FUNCTION__);
471 atom = _ecore_xcb_e_vkbd_atom_get(state);
472 ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_STATE,
477 ecore_x_e_virtual_keyboard_state_send(Ecore_X_Window win,
478 Ecore_X_Virtual_Keyboard_State state)
480 LOGFN(__FILE__, __LINE__, __FUNCTION__);
482 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_STATE,
483 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
484 _ecore_xcb_e_vkbd_atom_get(state),
489 ecore_x_e_virtual_keyboard_set(Ecore_X_Window win,
490 unsigned int is_keyboard)
492 LOGFN(__FILE__, __LINE__, __FUNCTION__);
494 ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD,
499 ecore_x_e_virtual_keyboard_get(Ecore_X_Window win)
501 unsigned int val = 0;
503 LOGFN(__FILE__, __LINE__, __FUNCTION__);
505 if (!ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_VIRTUAL_KEYBOARD,
509 return val ? EINA_TRUE : EINA_FALSE;
513 ecore_x_e_illume_quickpanel_priority_major_get(Ecore_X_Window win)
515 unsigned int val = 0;
517 LOGFN(__FILE__, __LINE__, __FUNCTION__);
519 if (!ecore_x_window_prop_card32_get(win,
520 ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MAJOR,
528 ecore_x_e_illume_quickpanel_priority_major_set(Ecore_X_Window win,
529 unsigned int priority)
531 LOGFN(__FILE__, __LINE__, __FUNCTION__);
533 ecore_x_window_prop_card32_set(win,
534 ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MAJOR,
539 ecore_x_e_illume_quickpanel_priority_minor_get(Ecore_X_Window win)
541 unsigned int val = 0;
543 LOGFN(__FILE__, __LINE__, __FUNCTION__);
545 if (!ecore_x_window_prop_card32_get(win,
546 ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MINOR,
554 ecore_x_e_illume_quickpanel_priority_minor_set(Ecore_X_Window win,
555 unsigned int priority)
557 LOGFN(__FILE__, __LINE__, __FUNCTION__);
559 ecore_x_window_prop_card32_set(win,
560 ECORE_X_ATOM_E_ILLUME_QUICKPANEL_PRIORITY_MINOR,
565 ecore_x_e_illume_quickpanel_zone_set(Ecore_X_Window win,
568 LOGFN(__FILE__, __LINE__, __FUNCTION__);
570 ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ZONE,
575 ecore_x_e_illume_quickpanel_zone_get(Ecore_X_Window win)
577 unsigned int val = 0;
579 LOGFN(__FILE__, __LINE__, __FUNCTION__);
581 if (!ecore_x_window_prop_card32_get(win,
582 ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ZONE,
590 ecore_x_e_illume_quickpanel_position_update_send(Ecore_X_Window win)
592 LOGFN(__FILE__, __LINE__, __FUNCTION__);
594 ecore_x_client_message32_send(win,
595 ECORE_X_ATOM_E_ILLUME_QUICKPANEL_POSITION_UPDATE,
596 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
601 ecore_x_e_illume_conformant_get(Ecore_X_Window win)
603 unsigned int val = 0;
605 LOGFN(__FILE__, __LINE__, __FUNCTION__);
607 if (!ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_ILLUME_CONFORMANT,
611 return val ? EINA_TRUE : EINA_FALSE;
615 ecore_x_e_illume_conformant_set(Ecore_X_Window win,
616 unsigned int is_conformant)
618 LOGFN(__FILE__, __LINE__, __FUNCTION__);
620 ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_ILLUME_CONFORMANT,
625 ecore_x_e_illume_softkey_geometry_set(Ecore_X_Window win,
631 unsigned int geom[4];
633 LOGFN(__FILE__, __LINE__, __FUNCTION__);
639 ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_ILLUME_SOFTKEY_GEOMETRY,
644 ecore_x_e_illume_softkey_geometry_get(Ecore_X_Window win,
650 unsigned int geom[4];
652 LOGFN(__FILE__, __LINE__, __FUNCTION__);
659 if (ecore_x_window_prop_card32_get(win,
660 ECORE_X_ATOM_E_ILLUME_SOFTKEY_GEOMETRY,
673 ecore_x_e_illume_indicator_geometry_set(Ecore_X_Window win,
679 unsigned int geom[4];
681 LOGFN(__FILE__, __LINE__, __FUNCTION__);
687 ecore_x_window_prop_card32_set(win,
688 ECORE_X_ATOM_E_ILLUME_INDICATOR_GEOMETRY,
693 ecore_x_e_illume_indicator_geometry_get(Ecore_X_Window win,
699 unsigned int geom[4];
701 LOGFN(__FILE__, __LINE__, __FUNCTION__);
708 if (ecore_x_window_prop_card32_get(win,
709 ECORE_X_ATOM_E_ILLUME_INDICATOR_GEOMETRY,
722 ecore_x_e_illume_keyboard_geometry_set(Ecore_X_Window win,
728 unsigned int geom[4];
730 LOGFN(__FILE__, __LINE__, __FUNCTION__);
736 ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_ILLUME_KEYBOARD_GEOMETRY,
741 ecore_x_e_illume_keyboard_geometry_get(Ecore_X_Window win,
747 unsigned int geom[4];
749 LOGFN(__FILE__, __LINE__, __FUNCTION__);
756 if (ecore_x_window_prop_card32_get(win,
757 ECORE_X_ATOM_E_ILLUME_KEYBOARD_GEOMETRY,
770 ecore_x_e_illume_quickpanel_set(Ecore_X_Window win,
771 unsigned int is_quickpanel)
773 LOGFN(__FILE__, __LINE__, __FUNCTION__);
775 ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_ILLUME_QUICKPANEL,
780 ecore_x_e_illume_quickpanel_get(Ecore_X_Window win)
782 unsigned int val = 0;
784 LOGFN(__FILE__, __LINE__, __FUNCTION__);
786 if (!ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_ILLUME_QUICKPANEL,
790 return val ? EINA_TRUE : EINA_FALSE;
794 ecore_x_e_illume_quickpanel_state_set(Ecore_X_Window win,
795 Ecore_X_Illume_Quickpanel_State state)
797 Ecore_X_Atom atom = 0;
799 LOGFN(__FILE__, __LINE__, __FUNCTION__);
801 atom = _ecore_xcb_e_quickpanel_atom_get(state);
802 ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE,
806 EAPI Ecore_X_Illume_Quickpanel_State
807 ecore_x_e_illume_quickpanel_state_get(Ecore_X_Window win)
809 Ecore_X_Atom atom = 0;
811 LOGFN(__FILE__, __LINE__, __FUNCTION__);
813 if (!ecore_x_window_prop_atom_get(win,
814 ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE,
816 return ECORE_X_ILLUME_QUICKPANEL_STATE_UNKNOWN;
818 return _ecore_xcb_e_quickpanel_state_get(atom);
822 ecore_x_e_illume_quickpanel_state_send(Ecore_X_Window win,
823 Ecore_X_Illume_Quickpanel_State state)
825 LOGFN(__FILE__, __LINE__, __FUNCTION__);
826 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE,
827 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
828 _ecore_xcb_e_quickpanel_atom_get(state),
833 ecore_x_e_illume_quickpanel_state_toggle(Ecore_X_Window win)
835 LOGFN(__FILE__, __LINE__, __FUNCTION__);
836 ecore_x_client_message32_send(win,
837 ECORE_X_ATOM_E_ILLUME_QUICKPANEL_STATE_TOGGLE,
838 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
843 _ecore_xcb_e_clipboard_atom_get(Ecore_X_Illume_Clipboard_State state)
847 case ECORE_X_ILLUME_CLIPBOARD_STATE_ON:
848 return ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON;
849 case ECORE_X_ILLUME_CLIPBOARD_STATE_OFF:
850 return ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF;
857 static Ecore_X_Illume_Clipboard_State
858 _ecore_xcb_e_clipboard_state_get(Ecore_X_Atom atom)
860 if (atom == ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON)
861 return ECORE_X_ILLUME_CLIPBOARD_STATE_ON;
863 if (atom == ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF)
864 return ECORE_X_ILLUME_CLIPBOARD_STATE_OFF;
866 return ECORE_X_ILLUME_INDICATOR_STATE_UNKNOWN;
870 ecore_x_e_illume_clipboard_state_set(Ecore_X_Window win,
871 Ecore_X_Illume_Clipboard_State state)
873 Ecore_X_Atom atom = 0;
875 LOGFN(__FILE__, __LINE__, __FUNCTION__);
876 atom = _ecore_xcb_e_clipboard_atom_get(state);
878 ecore_x_window_prop_atom_set(win,
879 ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE,
883 EAPI Ecore_X_Illume_Clipboard_State
884 ecore_x_e_illume_clipboard_state_get(Ecore_X_Window win)
886 Ecore_X_Atom atom = 0;
888 LOGFN(__FILE__, __LINE__, __FUNCTION__);
890 if (!ecore_x_window_prop_atom_get(win,
891 ECORE_X_ATOM_E_ILLUME_CLIPBOARD_STATE,
893 return ECORE_X_ILLUME_CLIPBOARD_STATE_UNKNOWN;
894 return _ecore_xcb_e_clipboard_state_get(atom);
898 ecore_x_e_illume_clipboard_geometry_set(Ecore_X_Window win,
899 int x, int y, int w, int h)
901 unsigned int geom[4];
903 LOGFN(__FILE__, __LINE__, __FUNCTION__);
908 ecore_x_window_prop_card32_set(win,
909 ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY,
914 ecore_x_e_illume_clipboard_geometry_get(Ecore_X_Window win,
915 int *x, int *y, int *w, int *h)
918 unsigned int geom[4];
920 LOGFN(__FILE__, __LINE__, __FUNCTION__);
922 ecore_x_window_prop_card32_get(win,
923 ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY,
925 if (ret != 4) return EINA_FALSE;
936 ecore_x_e_illume_mode_set(Ecore_X_Window win,
937 Ecore_X_Illume_Mode mode)
939 Ecore_X_Atom atom = 0;
941 LOGFN(__FILE__, __LINE__, __FUNCTION__);
943 atom = _ecore_xcb_e_illume_atom_get(mode);
944 ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_E_ILLUME_MODE, &atom, 1);
947 EAPI Ecore_X_Illume_Mode
948 ecore_x_e_illume_mode_get(Ecore_X_Window win)
950 Ecore_X_Atom atom = 0;
952 LOGFN(__FILE__, __LINE__, __FUNCTION__);
954 if (!ecore_x_window_prop_atom_get(win, ECORE_X_ATOM_E_ILLUME_MODE, &atom, 1))
955 return ECORE_X_ILLUME_MODE_UNKNOWN;
957 return _ecore_xcb_e_illume_mode_get(atom);
961 ecore_x_e_illume_mode_send(Ecore_X_Window win,
962 Ecore_X_Illume_Mode mode)
964 LOGFN(__FILE__, __LINE__, __FUNCTION__);
966 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_MODE,
967 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
968 _ecore_xcb_e_illume_atom_get(mode),
973 ecore_x_e_illume_focus_back_send(Ecore_X_Window win)
975 LOGFN(__FILE__, __LINE__, __FUNCTION__);
977 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_FOCUS_BACK,
978 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
983 ecore_x_e_illume_focus_forward_send(Ecore_X_Window win)
985 LOGFN(__FILE__, __LINE__, __FUNCTION__);
987 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_FOCUS_FORWARD,
988 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
993 ecore_x_e_illume_focus_home_send(Ecore_X_Window win)
995 LOGFN(__FILE__, __LINE__, __FUNCTION__);
997 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_FOCUS_HOME,
998 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
1003 ecore_x_e_illume_close_send(Ecore_X_Window win)
1005 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1007 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_CLOSE,
1008 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
1013 ecore_x_e_illume_home_new_send(Ecore_X_Window win)
1015 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1017 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_HOME_NEW,
1018 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
1023 ecore_x_e_illume_home_del_send(Ecore_X_Window win)
1025 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1027 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_HOME_DEL,
1028 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
1033 ecore_x_e_illume_access_action_next_send(Ecore_X_Window win)
1035 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1037 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL,
1038 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
1040 ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_NEXT,
1045 ecore_x_e_illume_access_action_prev_send(Ecore_X_Window win)
1047 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1049 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL,
1050 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
1052 ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_PREV,
1057 ecore_x_e_illume_access_action_activate_send(Ecore_X_Window win)
1059 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1061 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL,
1062 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
1064 ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_ACTIVATE,
1069 ecore_x_e_illume_access_action_read_send(Ecore_X_Window win)
1071 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1073 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL,
1074 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
1076 ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_READ,
1081 ecore_x_e_illume_access_action_read_next_send(Ecore_X_Window win)
1083 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1085 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL,
1086 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
1088 ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_READ_NEXT,
1093 ecore_x_e_illume_access_action_read_prev_send(Ecore_X_Window win)
1095 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1097 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL,
1098 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
1100 ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_READ_PREV,
1105 ecore_x_e_illume_access_action_up_send(Ecore_X_Window win)
1107 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1109 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL,
1110 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
1112 ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_UP,
1117 ecore_x_e_illume_access_action_down_send(Ecore_X_Window win)
1119 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1121 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL,
1122 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
1124 ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_DOWN,
1129 ecore_x_e_illume_drag_set(Ecore_X_Window win,
1132 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1134 ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_ILLUME_DRAG, &drag, 1);
1138 ecore_x_e_illume_drag_locked_set(Ecore_X_Window win,
1139 unsigned int is_locked)
1141 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1143 ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_ILLUME_DRAG_LOCKED,
1148 ecore_x_e_illume_drag_locked_get(Ecore_X_Window win)
1150 unsigned int val = 0;
1152 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1154 if (!ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_ILLUME_DRAG_LOCKED,
1158 return val ? EINA_TRUE : EINA_FALSE;
1162 ecore_x_e_illume_drag_get(Ecore_X_Window win)
1164 unsigned int val = 0;
1166 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1168 if (!ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_ILLUME_DRAG, &val, 1))
1171 return val ? EINA_TRUE : EINA_FALSE;
1175 ecore_x_e_illume_drag_start_send(Ecore_X_Window win)
1177 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1178 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_DRAG_START,
1179 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
1184 ecore_x_e_illume_drag_end_send(Ecore_X_Window win)
1186 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1187 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_DRAG_END,
1188 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
1193 ecore_x_e_illume_zone_set(Ecore_X_Window win,
1194 Ecore_X_Window zone)
1196 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1198 ecore_x_window_prop_window_set(win, ECORE_X_ATOM_E_ILLUME_ZONE, &zone, 1);
1202 ecore_x_e_illume_zone_get(Ecore_X_Window win)
1204 Ecore_X_Window zone;
1206 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1208 if (!ecore_x_window_prop_window_get(win, ECORE_X_ATOM_E_ILLUME_ZONE,
1216 ecore_x_e_illume_zone_list_set(Ecore_X_Window win,
1217 Ecore_X_Window *zones,
1220 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1222 ecore_x_window_prop_window_set(win, ECORE_X_ATOM_E_ILLUME_ZONE_LIST,
1226 /* local functions */
1228 _ecore_xcb_e_vkbd_atom_get(Ecore_X_Virtual_Keyboard_State state)
1232 case ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF:
1233 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_OFF;
1235 case ECORE_X_VIRTUAL_KEYBOARD_STATE_ON:
1236 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_ON;
1238 case ECORE_X_VIRTUAL_KEYBOARD_STATE_ALPHA:
1239 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_ALPHA;
1241 case ECORE_X_VIRTUAL_KEYBOARD_STATE_NUMERIC:
1242 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_NUMERIC;
1244 case ECORE_X_VIRTUAL_KEYBOARD_STATE_PIN:
1245 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PIN;
1247 case ECORE_X_VIRTUAL_KEYBOARD_STATE_PHONE_NUMBER:
1248 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PHONE_NUMBER;
1250 case ECORE_X_VIRTUAL_KEYBOARD_STATE_HEX:
1251 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_HEX;
1253 case ECORE_X_VIRTUAL_KEYBOARD_STATE_TERMINAL:
1254 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_TERMINAL;
1256 case ECORE_X_VIRTUAL_KEYBOARD_STATE_PASSWORD:
1257 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PASSWORD;
1259 case ECORE_X_VIRTUAL_KEYBOARD_STATE_IP:
1260 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_IP;
1262 case ECORE_X_VIRTUAL_KEYBOARD_STATE_HOST:
1263 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_HOST;
1265 case ECORE_X_VIRTUAL_KEYBOARD_STATE_FILE:
1266 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_FILE;
1268 case ECORE_X_VIRTUAL_KEYBOARD_STATE_URL:
1269 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_URL;
1271 case ECORE_X_VIRTUAL_KEYBOARD_STATE_KEYPAD:
1272 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_KEYPAD;
1274 case ECORE_X_VIRTUAL_KEYBOARD_STATE_J2ME:
1275 return ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_J2ME;
1283 static Ecore_X_Virtual_Keyboard_State
1284 _ecore_xcb_e_vkbd_state_get(Ecore_X_Atom atom)
1286 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_ON)
1287 return ECORE_X_VIRTUAL_KEYBOARD_STATE_ON;
1288 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_OFF)
1289 return ECORE_X_VIRTUAL_KEYBOARD_STATE_OFF;
1290 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_ALPHA)
1291 return ECORE_X_VIRTUAL_KEYBOARD_STATE_ALPHA;
1292 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_NUMERIC)
1293 return ECORE_X_VIRTUAL_KEYBOARD_STATE_NUMERIC;
1294 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PIN)
1295 return ECORE_X_VIRTUAL_KEYBOARD_STATE_PIN;
1296 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PHONE_NUMBER)
1297 return ECORE_X_VIRTUAL_KEYBOARD_STATE_PHONE_NUMBER;
1298 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_HEX)
1299 return ECORE_X_VIRTUAL_KEYBOARD_STATE_HEX;
1300 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_TERMINAL)
1301 return ECORE_X_VIRTUAL_KEYBOARD_STATE_TERMINAL;
1302 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_PASSWORD)
1303 return ECORE_X_VIRTUAL_KEYBOARD_STATE_PASSWORD;
1304 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_IP)
1305 return ECORE_X_VIRTUAL_KEYBOARD_STATE_IP;
1306 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_HOST)
1307 return ECORE_X_VIRTUAL_KEYBOARD_STATE_HOST;
1308 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_FILE)
1309 return ECORE_X_VIRTUAL_KEYBOARD_STATE_FILE;
1310 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_URL)
1311 return ECORE_X_VIRTUAL_KEYBOARD_STATE_URL;
1312 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_KEYPAD)
1313 return ECORE_X_VIRTUAL_KEYBOARD_STATE_KEYPAD;
1314 if (atom == ECORE_X_ATOM_E_VIRTUAL_KEYBOARD_J2ME)
1315 return ECORE_X_VIRTUAL_KEYBOARD_STATE_J2ME;
1317 return ECORE_X_VIRTUAL_KEYBOARD_STATE_UNKNOWN;
1321 _ecore_xcb_e_quickpanel_atom_get(Ecore_X_Illume_Quickpanel_State state)
1325 case ECORE_X_ILLUME_QUICKPANEL_STATE_ON:
1326 return ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ON;
1328 case ECORE_X_ILLUME_QUICKPANEL_STATE_OFF:
1329 return ECORE_X_ATOM_E_ILLUME_QUICKPANEL_OFF;
1337 static Ecore_X_Illume_Quickpanel_State
1338 _ecore_xcb_e_quickpanel_state_get(Ecore_X_Atom atom)
1340 if (atom == ECORE_X_ATOM_E_ILLUME_QUICKPANEL_ON)
1341 return ECORE_X_ILLUME_QUICKPANEL_STATE_ON;
1342 if (atom == ECORE_X_ATOM_E_ILLUME_QUICKPANEL_OFF)
1343 return ECORE_X_ILLUME_QUICKPANEL_STATE_OFF;
1345 return ECORE_X_ILLUME_QUICKPANEL_STATE_UNKNOWN;
1349 _ecore_xcb_e_illume_atom_get(Ecore_X_Illume_Mode mode)
1353 case ECORE_X_ILLUME_MODE_SINGLE:
1354 return ECORE_X_ATOM_E_ILLUME_MODE_SINGLE;
1356 case ECORE_X_ILLUME_MODE_DUAL_TOP:
1357 return ECORE_X_ATOM_E_ILLUME_MODE_DUAL_TOP;
1359 case ECORE_X_ILLUME_MODE_DUAL_LEFT:
1360 return ECORE_X_ATOM_E_ILLUME_MODE_DUAL_LEFT;
1365 return ECORE_X_ILLUME_MODE_UNKNOWN;
1368 static Ecore_X_Illume_Mode
1369 _ecore_xcb_e_illume_mode_get(Ecore_X_Atom atom)
1371 if (atom == ECORE_X_ATOM_E_ILLUME_MODE_SINGLE)
1372 return ECORE_X_ILLUME_MODE_SINGLE;
1373 if (atom == ECORE_X_ATOM_E_ILLUME_MODE_DUAL_TOP)
1374 return ECORE_X_ILLUME_MODE_DUAL_TOP;
1375 if (atom == ECORE_X_ATOM_E_ILLUME_MODE_DUAL_LEFT)
1376 return ECORE_X_ILLUME_MODE_DUAL_LEFT;
1378 return ECORE_X_ILLUME_MODE_UNKNOWN;
1382 _ecore_xcb_e_indicator_atom_get(Ecore_X_Illume_Indicator_State state)
1386 case ECORE_X_ILLUME_INDICATOR_STATE_ON:
1387 return ECORE_X_ATOM_E_ILLUME_INDICATOR_ON;
1389 case ECORE_X_ILLUME_INDICATOR_STATE_OFF:
1390 return ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF;
1398 static Ecore_X_Illume_Indicator_State
1399 _ecore_xcb_e_indicator_state_get(Ecore_X_Atom atom)
1401 if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_ON)
1402 return ECORE_X_ILLUME_INDICATOR_STATE_ON;
1403 if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_OFF)
1404 return ECORE_X_ILLUME_INDICATOR_STATE_OFF;
1406 return ECORE_X_ILLUME_INDICATOR_STATE_UNKNOWN;
1410 ecore_x_e_illume_indicator_state_set(Ecore_X_Window win,
1411 Ecore_X_Illume_Indicator_State state)
1413 Ecore_X_Atom atom = 0;
1415 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1417 atom = _ecore_xcb_e_indicator_atom_get(state);
1418 ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE,
1422 EAPI Ecore_X_Illume_Indicator_State
1423 ecore_x_e_illume_indicator_state_get(Ecore_X_Window win)
1425 Ecore_X_Atom atom = 0;
1427 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1429 if (!ecore_x_window_prop_atom_get(win,
1430 ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE,
1432 return ECORE_X_ILLUME_INDICATOR_STATE_UNKNOWN;
1434 return _ecore_xcb_e_indicator_state_get(atom);
1438 ecore_x_e_illume_indicator_state_send(Ecore_X_Window win,
1439 Ecore_X_Illume_Indicator_State state)
1441 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1442 ecore_x_client_message32_send(win, ECORE_X_ATOM_E_ILLUME_INDICATOR_STATE,
1443 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
1444 _ecore_xcb_e_indicator_atom_get(state),
1449 _ecore_x_e_indicator_opacity_atom_get(Ecore_X_Illume_Indicator_Opacity_Mode mode)
1453 case ECORE_X_ILLUME_INDICATOR_OPAQUE:
1454 return ECORE_X_ATOM_E_ILLUME_INDICATOR_OPAQUE;
1456 case ECORE_X_ILLUME_INDICATOR_TRANSLUCENT:
1457 return ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSLUCENT;
1459 case ECORE_X_ILLUME_INDICATOR_TRANSPARENT:
1460 return ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSPARENT;
1468 static Ecore_X_Illume_Indicator_Opacity_Mode
1469 _ecore_x_e_indicator_opacity_get(Ecore_X_Atom atom)
1471 if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_OPAQUE)
1472 return ECORE_X_ILLUME_INDICATOR_OPAQUE;
1474 if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSLUCENT)
1475 return ECORE_X_ILLUME_INDICATOR_TRANSLUCENT;
1477 if (atom == ECORE_X_ATOM_E_ILLUME_INDICATOR_TRANSPARENT)
1478 return ECORE_X_ILLUME_INDICATOR_TRANSPARENT;
1480 return ECORE_X_ILLUME_INDICATOR_OPACITY_UNKNOWN;
1484 ecore_x_e_illume_indicator_opacity_set(Ecore_X_Window win,
1485 Ecore_X_Illume_Indicator_Opacity_Mode mode)
1487 Ecore_X_Atom atom = 0;
1489 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1490 atom = _ecore_x_e_indicator_opacity_atom_get(mode);
1491 ecore_x_window_prop_atom_set(win,
1492 ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE,
1496 EAPI Ecore_X_Illume_Indicator_Opacity_Mode
1497 ecore_x_e_illume_indicator_opacity_get(Ecore_X_Window win)
1501 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1502 if (!ecore_x_window_prop_atom_get(win,
1503 ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE,
1505 return ECORE_X_ILLUME_INDICATOR_OPACITY_UNKNOWN;
1507 return _ecore_x_e_indicator_opacity_get(atom);
1511 ecore_x_e_illume_indicator_opacity_send(Ecore_X_Window win,
1512 Ecore_X_Illume_Indicator_Opacity_Mode mode)
1514 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1515 ecore_x_client_message32_send(win,
1516 ECORE_X_ATOM_E_ILLUME_INDICATOR_OPACITY_MODE,
1517 ECORE_X_EVENT_MASK_WINDOW_CONFIGURE,
1518 _ecore_x_e_indicator_opacity_atom_get(mode),
1523 _ecore_x_e_illume_window_state_atom_get(Ecore_X_Illume_Window_State state)
1527 case ECORE_X_ILLUME_WINDOW_STATE_NORMAL:
1528 return ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_NORMAL;
1530 case ECORE_X_ILLUME_WINDOW_STATE_FLOATING:
1531 return ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_FLOATING;
1539 static Ecore_X_Illume_Window_State
1540 _ecore_x_e_illume_window_state_get(Ecore_X_Atom atom)
1542 if (atom == ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_NORMAL)
1543 return ECORE_X_ILLUME_WINDOW_STATE_NORMAL;
1545 if (atom == ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_FLOATING)
1546 return ECORE_X_ILLUME_WINDOW_STATE_FLOATING;
1548 return ECORE_X_ILLUME_WINDOW_STATE_NORMAL;
1552 ecore_x_e_illume_window_state_set(Ecore_X_Window win,
1553 Ecore_X_Illume_Window_State state)
1555 Ecore_X_Atom atom = 0;
1557 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1558 atom = _ecore_x_e_illume_window_state_atom_get(state);
1559 ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_E_ILLUME_WINDOW_STATE,
1563 EAPI Ecore_X_Illume_Window_State
1564 ecore_x_e_illume_window_state_get(Ecore_X_Window win)
1568 LOGFN(__FILE__, __LINE__, __FUNCTION__);
1569 if (!ecore_x_window_prop_atom_get(win,
1570 ECORE_X_ATOM_E_ILLUME_WINDOW_STATE,
1572 return ECORE_X_ILLUME_WINDOW_STATE_NORMAL;
1574 return _ecore_x_e_illume_window_state_get(atom);