ECORE_X_RANDR_PROPERTY_CHANGE_DEL
} Ecore_X_Randr_Property_Change;
+typedef enum _Ecore_X_Netwm_Direction
+{
+ ECORE_X_NETWM_DIRECTION_SIZE_TL = 0,
+ ECORE_X_NETWM_DIRECTION_SIZE_T = 1,
+ ECORE_X_NETWM_DIRECTION_SIZE_TR = 2,
+ ECORE_X_NETWM_DIRECTION_SIZE_R = 3,
+ ECORE_X_NETWM_DIRECTION_SIZE_BR = 4,
+ ECORE_X_NETWM_DIRECTION_SIZE_B = 5,
+ ECORE_X_NETWM_DIRECTION_SIZE_BL = 6,
+ ECORE_X_NETWM_DIRECTION_SIZE_L = 7,
+ ECORE_X_NETWM_DIRECTION_MOVE = 8,
+ ECORE_X_NETWM_DIRECTION_CANCEL = 11,
+} Ecore_X_Netwm_Direction;
+
/**
* @typedef _Ecore_X_Error_Code
* Defines the error codes of Ecore_X which wraps the X Window Systems
Ecore_X_Time time;
};
+struct _Ecore_X_Event_Window_Prop_Title_Change
+{
+ Ecore_X_Window win;
+ char *title;
+ Ecore_X_Time time;
+};
+
+struct _Ecore_X_Event_Window_Prop_Visible_Title_Change
+{
+ Ecore_X_Window win;
+ char *title;
+ Ecore_X_Time time;
+};
+
+struct _Ecore_X_Event_Window_Prop_Icon_Name_Change
+{
+ Ecore_X_Window win;
+ char *name;
+ Ecore_X_Time time;
+};
+
+struct _Ecore_X_Event_Window_Prop_Visible_Icon_Name_Change
+{
+ Ecore_X_Window win;
+ char *name;
+ Ecore_X_Time time;
+};
+
+struct _Ecore_X_Event_Window_Prop_Client_Machine_Change
+{
+ Ecore_X_Window win;
+ char *name;
+ Ecore_X_Time time;
+};
+
+struct _Ecore_X_Event_Window_Prop_Name_Class_Change
+{
+ Ecore_X_Window win;
+ char *name;
+ char *clas;
+ Ecore_X_Time time;
+};
+
+struct _Ecore_X_Event_Window_Prop_Pid_Change
+{
+ Ecore_X_Window win;
+ pid_t pid;
+ Ecore_X_Time time;
+};
+
+struct _Ecore_X_Event_Window_Prop_Desktop_Change
+{
+ Ecore_X_Window win;
+ long desktop;
+ Ecore_X_Time time;
+};
+
struct _Ecore_X_Event_Startup_Sequence
{
Ecore_X_Window win;
ECORE_X_ILLUME_INDICATOR_TRANSPARENT
} Ecore_X_Illume_Indicator_Opacity_Mode;
+typedef enum _Ecore_X_Illume_Window_State
+{
+ ECORE_X_ILLUME_WINDOW_STATE_NORMAL = 0,
+ ECORE_X_ILLUME_WINDOW_STATE_FLOATING
+} Ecore_X_Illume_Window_State;
+
/* Window layer constants */
#define ECORE_X_WINDOW_LAYER_BELOW 2
#define ECORE_X_WINDOW_LAYER_NORMAL 4
EAPI void ecore_x_e_illume_indicator_opacity_send(Ecore_X_Window win, Ecore_X_Illume_Indicator_Opacity_Mode mode);
+EAPI void
+ecore_x_e_illume_window_state_set(Ecore_X_Window win,
+ Ecore_X_Illume_Window_State state);
+
+EAPI Ecore_X_Illume_Window_State
+ecore_x_e_illume_window_state_get(Ecore_X_Window win);
+
#ifdef __cplusplus
}
#endif // ifdef __cplusplus
EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON;
EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF;
EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY;
+EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_WINDOW_STATE;
+EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_NORMAL;
+EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_FLOATING;
EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL;
EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_NEXT;
EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_PREV;
EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_VIDEO_PARENT;
EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_VIDEO_POSITION;
+/* currently elementary and E specific extension */
+EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_PROFILE;
+EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_PROFILE_LIST;
+
+/* for sliding window */
+EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_STATE;
+EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_GEOMETRY;
+
+/* for SDB(Samsung Debug Bridge) */
+EAPI extern Ecore_X_Atom ECORE_X_ATOM_SDB_SERVER_CONNECT;
+EAPI extern Ecore_X_Atom ECORE_X_ATOM_SDB_SERVER_DISCONNECT;
#endif /* _ECORE_X_ATOMS_H */
EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY = 0;
EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON = 0;
EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF = 0;
+EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_WINDOW_STATE = 0;
+EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_NORMAL = 0;
+EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_FLOATING = 0;
EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL = 0;
EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_NEXT = 0;
EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_PREV = 0;
EAPI Ecore_X_Atom ECORE_X_ATOM_E_VIDEO_PARENT = 0;
EAPI Ecore_X_Atom ECORE_X_ATOM_E_VIDEO_POSITION = 0;
+/* for sliding window */
+EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_STATE = 0;
+EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_GEOMETRY = 0;
+
+/* for SDB(Samsung Debug Bridge) */
+EAPI Ecore_X_Atom ECORE_X_ATOM_SDB_SERVER_CONNECT = 0;
+EAPI Ecore_X_Atom ECORE_X_ATOM_SDB_SERVER_DISCONNECT = 0;
+
+/* currently elementary and E specific extension */
+EAPI Ecore_X_Atom ECORE_X_ATOM_E_PROFILE = 0;
+EAPI Ecore_X_Atom ECORE_X_ATOM_E_PROFILE_LIST = 0;
+
typedef struct _Atom_Item Atom_Item;
struct _Atom_Item
}
EAPI void
+ecore_x_e_window_profile_list_set(Ecore_X_Window win,
+ const char **profiles,
+ unsigned int num_profiles)
+{
+ Ecore_X_Atom *atoms;
+
+ LOGFN(__FILE__, __LINE__, __FUNCTION__);
+ if (!win)
+ return;
+
+ if (!num_profiles)
+ ecore_x_window_prop_property_del(win, ECORE_X_ATOM_E_PROFILE_LIST);
+ else
+ {
+ atoms = alloca(num_profiles * sizeof(Ecore_X_Atom));
+ ecore_x_atoms_get(profiles, num_profiles, atoms);
+ ecore_x_window_prop_property_set(win,
+ ECORE_X_ATOM_E_PROFILE_LIST,
+ ECORE_X_ATOM_ATOM, 32, (void *)atoms,
+ num_profiles);
+ }
+}
+
+EAPI Eina_Bool
+ecore_x_e_window_profile_list_get(Ecore_X_Window win,
+ const char ***profiles,
+ int *ret_num)
+{
+ unsigned char *data = NULL;
+ Ecore_X_Atom *atoms;
+ int num, i;
+
+ if (ret_num)
+ *ret_num = 0;
+
+ if (profiles)
+ *profiles = NULL;
+
+ if (!win)
+ return EINA_FALSE;
+
+ LOGFN(__FILE__, __LINE__, __FUNCTION__);
+ if (!ecore_x_window_prop_property_get(win,
+ ECORE_X_ATOM_E_PROFILE_LIST,
+ ECORE_X_ATOM_ATOM, 32, &data, &num))
+ return EINA_FALSE;
+
+ if (ret_num)
+ *ret_num = num;
+
+ if (profiles)
+ {
+ (*profiles) = calloc(num, sizeof(char *));
+ if (!(*profiles))
+ {
+ if (ret_num)
+ *ret_num = 0;
+
+ if (data)
+ free(data);
+
+ return EINA_FALSE;
+ }
+
+ atoms = (Ecore_X_Atom *)data;
+ for (i = 0; i < num; i++)
+ (*profiles)[i] = ecore_x_atom_name_get(atoms[i]);
+ }
+
+ if (data)
+ free(data);
+
+ return EINA_TRUE;
+}
+
+EAPI void
+ecore_x_e_window_profile_set(Ecore_X_Window win,
+ const char *profile)
+{
+ Ecore_X_Atom atom;
+
+ LOGFN(__FILE__, __LINE__, __FUNCTION__);
+ if (!win)
+ return;
+
+ if (!profile)
+ ecore_x_window_prop_property_del(win, ECORE_X_ATOM_E_PROFILE);
+ else
+ {
+ atom = ecore_x_atom_get(profile);
+ ecore_x_window_prop_property_set(win, ECORE_X_ATOM_E_PROFILE,
+ ECORE_X_ATOM_ATOM, 32, (void *)&atom, 1);
+ }
+}
+
+EAPI char *
+ecore_x_e_window_profile_get(Ecore_X_Window win)
+{
+ Ecore_X_Atom *atom = NULL;
+ unsigned char *data;
+ char *profile = NULL;
+ int num;
+
+ LOGFN(__FILE__, __LINE__, __FUNCTION__);
+ if (!ecore_x_window_prop_property_get(win, ECORE_X_ATOM_E_PROFILE,
+ ECORE_X_ATOM_ATOM, 32, &data, &num))
+ return NULL;
+
+ if (data)
+ atom = (Ecore_X_Atom *)data;
+
+ if (atom)
+ profile = ecore_x_atom_name_get(atom[0]);
+
+ return profile;
+}
+
+EAPI void
ecore_x_e_comp_sync_supported_set(Ecore_X_Window root,
Eina_Bool enabled)
{
0, 0, 0, 0);
}
+static Ecore_X_Atom
+_ecore_x_e_illume_window_state_atom_get(Ecore_X_Illume_Window_State state)
+{
+ switch (state)
+ {
+ case ECORE_X_ILLUME_WINDOW_STATE_NORMAL:
+ return ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_NORMAL;
+
+ case ECORE_X_ILLUME_WINDOW_STATE_FLOATING:
+ return ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_FLOATING;
+
+ default:
+ break;
+ }
+ return 0;
+}
+
+static Ecore_X_Illume_Window_State
+_ecore_x_e_illume_window_state_get(Ecore_X_Atom atom)
+{
+ if (atom == ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_NORMAL)
+ return ECORE_X_ILLUME_WINDOW_STATE_NORMAL;
+
+ if (atom == ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_FLOATING)
+ return ECORE_X_ILLUME_WINDOW_STATE_FLOATING;
+
+ return ECORE_X_ILLUME_WINDOW_STATE_NORMAL;
+}
+
+EAPI void
+ecore_x_e_illume_window_state_set(Ecore_X_Window win,
+ Ecore_X_Illume_Window_State state)
+{
+ Ecore_X_Atom atom = 0;
+
+ LOGFN(__FILE__, __LINE__, __FUNCTION__);
+ atom = _ecore_x_e_illume_window_state_atom_get(state);
+ ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_E_ILLUME_WINDOW_STATE,
+ &atom, 1);
+}
+
+EAPI Ecore_X_Illume_Window_State
+ecore_x_e_illume_window_state_get(Ecore_X_Window win)
+{
+ Ecore_X_Atom atom;
+
+ LOGFN(__FILE__, __LINE__, __FUNCTION__);
+ if (!ecore_x_window_prop_atom_get(win,
+ ECORE_X_ATOM_E_ILLUME_WINDOW_STATE,
+ &atom, 1))
+ return ECORE_X_ILLUME_WINDOW_STATE_NORMAL;
+
+ return _ecore_x_e_illume_window_state_get(atom);
+}
+
}
EAPI void
+ecore_x_netwm_moveresize_request_send(Ecore_X_Window win,
+ int x,
+ int y,
+ Ecore_X_Netwm_Direction direction,
+ unsigned int button)
+{
+ xcb_client_message_event_t ev;
+
+ LOGFN(__FILE__, __LINE__, __FUNCTION__);
+ CHECK_XCB_CONN;
+
+ memset(&ev, 0, sizeof(xcb_client_message_event_t));
+
+ ev.response_type = XCB_CLIENT_MESSAGE;
+ ev.format = 32;
+ ev.window = win;
+ ev.type = ECORE_X_ATOM_NET_WM_MOVERESIZE;
+ ev.data.data32[0] = x;
+ ev.data.data32[1] = y;
+ ev.data.data32[2] = direction;
+ ev.data.data32[3] = button;
+ ev.data.data32[4] = 1;
+
+ xcb_send_event(_ecore_xcb_conn, 0, win,
+ (XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT |
+ XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY), (const char *)&ev);
+}
+
+EAPI void
ecore_x_netwm_handled_icons_set(Ecore_X_Window win)
{
LOGFN(__FILE__, __LINE__, __FUNCTION__);
return EINA_TRUE;
}
+/* for sliding window */
+EAPI void
+ecore_x_e_illume_sliding_win_state_set(Ecore_X_Window win,
+ unsigned int is_visible)
+{
+ LOGFN(__FILE__, __LINE__, __FUNCTION__);
+ ecore_x_window_prop_card32_set(win,
+ ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_STATE,
+ &is_visible, 1);
+} /* ecore_x_e_illume_sliding_win_state_set */
+
+EAPI int
+ecore_x_e_illume_sliding_win_state_get(Ecore_X_Window win)
+{
+ unsigned int is_visible = 0;
+
+ LOGFN(__FILE__, __LINE__, __FUNCTION__);
+ if (!ecore_x_window_prop_card32_get(win,
+ ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_STATE,
+ &is_visible, 1))
+ return 0;
+
+ return is_visible;
+}
+
+EAPI void
+ecore_x_e_illume_sliding_win_geometry_set(Ecore_X_Window win,
+ int x,
+ int y,
+ int w,
+ int h)
+{
+ unsigned int geom[4];
+
+ LOGFN(__FILE__, __LINE__, __FUNCTION__);
+ geom[0] = x;
+ geom[1] = y;
+ geom[2] = w;
+ geom[3] = h;
+ ecore_x_window_prop_card32_set(win,
+ ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_GEOMETRY,
+ geom, 4);
+} /* ecore_x_e_illume_sliding_win_geometry_set */
+
+EAPI int
+ecore_x_e_illume_sliding_win_geometry_get(Ecore_X_Window win,
+ int *x,
+ int *y,
+ int *w,
+ int *h)
+{
+ int ret = 0;
+ unsigned int geom[4];
+
+ LOGFN(__FILE__, __LINE__, __FUNCTION__);
+ ret =
+ ecore_x_window_prop_card32_get(win,
+ ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_GEOMETRY,
+ geom, 4);
+ if (ret != 4)
+ return 0;
+
+ if (x)
+ *x = geom[0];
+
+ if (y)
+ *y = geom[1];
+
+ if (w)
+ *w = geom[2];
+
+ if (h)
+ *h = geom[3];
+
+ return 1;
+}/* ecore_x_e_illume_sliding_win_geometry_get */
+
EAPI void
ecore_x_e_comp_sync_counter_set(Ecore_X_Window win,
Ecore_X_Sync_Counter counter)
}
EAPI void
+ecore_x_e_window_profile_list_set(Ecore_X_Window win,
+ const char **profiles,
+ unsigned int num_profiles)
+{
+ Ecore_X_Atom *atoms;
+
+ LOGFN(__FILE__, __LINE__, __FUNCTION__);
+ if (!win)
+ return;
+
+ if (!num_profiles)
+ ecore_x_window_prop_property_del(win, ECORE_X_ATOM_E_PROFILE_LIST);
+ else
+ {
+ atoms = alloca(num_profiles * sizeof(Ecore_X_Atom));
+ ecore_x_atoms_get(profiles, num_profiles, atoms);
+ ecore_x_window_prop_property_set(win,
+ ECORE_X_ATOM_E_PROFILE_LIST,
+ XA_ATOM, 32, (void *)atoms,
+ num_profiles);
+ }
+}
+
+EAPI Eina_Bool
+ecore_x_e_window_profile_list_get(Ecore_X_Window win,
+ const char ***profiles,
+ int *ret_num)
+{
+ unsigned char *data;
+ Ecore_X_Atom *atoms;
+ int num, i;
+
+ if (ret_num)
+ *ret_num = 0;
+
+ if (profiles)
+ *profiles = NULL;
+
+ if (!win)
+ return EINA_FALSE;
+
+ LOGFN(__FILE__, __LINE__, __FUNCTION__);
+ if (!ecore_x_window_prop_property_get(win,
+ ECORE_X_ATOM_E_PROFILE_LIST,
+ XA_ATOM, 32, &data, &num))
+ return EINA_FALSE;
+
+ if (ret_num)
+ *ret_num = num;
+
+ if (profiles)
+ {
+ (*profiles) = calloc(num, sizeof(char *));
+ if (!(*profiles))
+ {
+ if (ret_num)
+ *ret_num = 0;
+
+ if (data)
+ free(data);
+
+ return EINA_FALSE;
+ }
+
+ atoms = (Ecore_X_Atom *)data;
+ for (i = 0; i < num; i++)
+ (*profiles)[i] = ecore_x_atom_name_get(atoms[i]);
+ }
+
+ if (data)
+ XFree(data);
+
+ return EINA_TRUE;
+}
+
+EAPI void
+ecore_x_e_window_profile_set(Ecore_X_Window win,
+ const char *profile)
+{
+ Ecore_X_Atom atom;
+
+ LOGFN(__FILE__, __LINE__, __FUNCTION__);
+ if (!win)
+ return;
+
+ if (!profile)
+ ecore_x_window_prop_property_del(win, ECORE_X_ATOM_E_PROFILE);
+ else
+ {
+ atom = ecore_x_atom_get(profile);
+ ecore_x_window_prop_property_set(win, ECORE_X_ATOM_E_PROFILE,
+ XA_ATOM, 32, (void *)&atom, 1);
+ }
+}
+
+EAPI char *
+ecore_x_e_window_profile_get(Ecore_X_Window win)
+{
+ Ecore_X_Atom *atom = NULL;
+ unsigned char *data;
+ char *profile = NULL;
+ int num;
+
+ LOGFN(__FILE__, __LINE__, __FUNCTION__);
+ if (!ecore_x_window_prop_property_get(win, ECORE_X_ATOM_E_PROFILE,
+ XA_ATOM, 32, &data, &num))
+ return NULL;
+
+ if (data)
+ atom = (Ecore_X_Atom *)data;
+
+ if (atom)
+ profile = ecore_x_atom_name_get(atom[0]);
+
+ return profile;
+}
+
+EAPI void
ecore_x_e_comp_sync_supported_set(Ecore_X_Window root,
Eina_Bool enabled)
{
0, 0, 0, 0);
}
+static Ecore_X_Atom
+_ecore_x_e_illume_window_state_atom_get(Ecore_X_Illume_Window_State state)
+{
+ switch (state)
+ {
+ case ECORE_X_ILLUME_WINDOW_STATE_NORMAL:
+ return ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_NORMAL;
+
+ case ECORE_X_ILLUME_WINDOW_STATE_FLOATING:
+ return ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_FLOATING;
+
+ default:
+ break;
+ }
+ return 0;
+}
+
+static Ecore_X_Illume_Window_State
+_ecore_x_e_illume_window_state_get(Ecore_X_Atom atom)
+{
+ if (atom == ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_NORMAL)
+ return ECORE_X_ILLUME_WINDOW_STATE_NORMAL;
+
+ if (atom == ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_FLOATING)
+ return ECORE_X_ILLUME_WINDOW_STATE_FLOATING;
+
+ return ECORE_X_ILLUME_WINDOW_STATE_NORMAL;
+}
+
+EAPI void
+ecore_x_e_illume_window_state_set(Ecore_X_Window win,
+ Ecore_X_Illume_Window_State state)
+{
+ Ecore_X_Atom atom = 0;
+
+ LOGFN(__FILE__, __LINE__, __FUNCTION__);
+ atom = _ecore_x_e_illume_window_state_atom_get(state);
+ ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_E_ILLUME_WINDOW_STATE,
+ &atom, 1);
+}
+
+EAPI Ecore_X_Illume_Window_State
+ecore_x_e_illume_window_state_get(Ecore_X_Window win)
+{
+ Ecore_X_Atom atom;
+
+ LOGFN(__FILE__, __LINE__, __FUNCTION__);
+ if (!ecore_x_window_prop_atom_get(win,
+ ECORE_X_ATOM_E_ILLUME_WINDOW_STATE,
+ &atom, 1))
+ return ECORE_X_ILLUME_WINDOW_STATE_NORMAL;
+
+ return _ecore_x_e_illume_window_state_get(atom);
+}
+
SubstructureNotifyMask | SubstructureRedirectMask, &xev);
}
+EAPI void
+ecore_x_netwm_moveresize_request_send(Ecore_X_Window win,
+ int x,
+ int y,
+ Ecore_X_Netwm_Direction direction,
+ unsigned int button)
+{
+ XEvent xev;
+
+ if (!win)
+ return;
+
+ LOGFN(__FILE__, __LINE__, __FUNCTION__);
+ xev.xclient.window = win;
+ xev.xclient.type = ClientMessage;
+ xev.xclient.message_type = ECORE_X_ATOM_NET_WM_MOVERESIZE;
+ xev.xclient.format = 32;
+ xev.xclient.data.l[0] = x;
+ xev.xclient.data.l[1] = y;
+ xev.xclient.data.l[2] = direction;
+ xev.xclient.data.l[3] = button;
+ xev.xclient.data.l[4] = 1;
+
+ XSendEvent(_ecore_x_disp, win, False,
+ SubstructureNotifyMask | SubstructureRedirectMask, &xev);
+}
+
int
_ecore_x_netwm_startup_info_begin(Ecore_X_Window win __UNUSED__,
char *data __UNUSED__)