ecore_x_icccm_title_get(Ecore_X_Window win)
{
xcb_get_property_cookie_t cookie;
+#ifdef OLD_XCB_VERSION
xcb_get_text_property_reply_t prop;
+#else
+ xcb_icccm_get_text_property_reply_t prop;
+#endif
uint8_t ret = 0;
char *title = NULL;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
if (!win) return NULL;
-
+#ifdef OLD_XCB_VERSION
cookie = xcb_get_wm_name_unchecked(_ecore_xcb_conn, win);
ret = xcb_get_wm_name_reply(_ecore_xcb_conn, cookie, &prop, NULL);
+#else
+ cookie = xcb_icccm_get_wm_name_unchecked(_ecore_xcb_conn, win);
+ ret = xcb_icccm_get_wm_name_reply(_ecore_xcb_conn, cookie, &prop, NULL);
+#endif
if (ret == 0) return NULL;
if (prop.name_len < 1)
{
+#ifdef OLD_XCB_VERSION
xcb_get_text_property_reply_wipe(&prop);
+#else
+ xcb_icccm_get_text_property_reply_wipe(&prop);
+#endif
return NULL;
}
if (!(title = malloc((prop.name_len + 1) * sizeof(char *))))
{
+#ifdef OLD_XCB_VERSION
xcb_get_text_property_reply_wipe(&prop);
+#else
+ xcb_icccm_get_text_property_reply_wipe(&prop);
+#endif
return NULL;
}
memcpy(title, prop.name, sizeof(char *) * prop.name_len);
}
}
+#ifdef OLD_XCB_VERSION
xcb_get_text_property_reply_wipe(&prop);
+#else
+ xcb_icccm_get_text_property_reply_wipe(&prop);
+#endif
return title;
}
if (ret)
{
+#ifdef OLD_XCB_VERSION
xcb_set_wm_name(_ecore_xcb_conn, win, ECORE_X_ATOM_STRING,
strlen(prop.value), prop.value);
-
+#else
+ xcb_icccm_set_wm_name(_ecore_xcb_conn, win, ECORE_X_ATOM_STRING, 8,
+ strlen(prop.value), prop.value);
+#endif
if (prop.value) free(prop.value);
}
else
- xcb_set_wm_name(_ecore_xcb_conn, win, ECORE_X_ATOM_STRING,
- strlen(title), title);
+#ifdef OLD_XCB_VERSION
+ xcb_set_wm_name(_ecore_xcb_conn, win, ECORE_X_ATOM_STRING,
+ strlen(title), title);
+#else
+ xcb_icccm_set_wm_name(_ecore_xcb_conn, win, ECORE_X_ATOM_STRING, 8,
+ strlen(title), title);
+#endif
free(list[0]);
}
ecore_x_icccm_name_class_get(Ecore_X_Window win, char **name, char **class)
{
xcb_get_property_cookie_t cookie;
+#ifdef OLD_XCB_VERSION
xcb_get_wm_class_reply_t prop;
+#else
+ xcb_icccm_get_wm_class_reply_t prop;
+#endif
uint8_t ret = 0;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
if (name) *name = NULL;
if (class) *class = NULL;
+#ifdef OLD_XCB_VERSION
cookie = xcb_get_wm_class_unchecked(_ecore_xcb_conn, win);
ret = xcb_get_wm_class_reply(_ecore_xcb_conn, cookie, &prop, NULL);
+#else
+ cookie = xcb_icccm_get_wm_class_unchecked(_ecore_xcb_conn, win);
+ ret = xcb_icccm_get_wm_class_reply(_ecore_xcb_conn, cookie, &prop, NULL);
+#endif
if (ret == 0) return;
if (name) *name = strdup(prop.instance_name);
if (class) *class = strdup(prop.class_name);
+#ifdef OLD_XCB_VERSION
xcb_get_wm_class_reply_wipe(&prop);
+#else
+ xcb_icccm_get_wm_class_reply_wipe(&prop);
+#endif
}
/**
LOGFN(__FILE__, __LINE__, __FUNCTION__);
+#ifdef OLD_XCB_VERSION
cookie = xcb_get_wm_transient_for_unchecked(_ecore_xcb_conn, win);
xcb_get_wm_transient_for_reply(_ecore_xcb_conn, cookie, &forwin, NULL);
+#else
+ cookie = xcb_icccm_get_wm_transient_for_unchecked(_ecore_xcb_conn, win);
+ xcb_icccm_get_wm_transient_for_reply(_ecore_xcb_conn, cookie, &forwin, NULL);
+#endif
return forwin;
}
}
prop = (uint8_t *)xcb_get_property_value(reply);
+#ifdef OLD_XCB_VERSION
switch (prop[0])
{
case XCB_WM_STATE_WITHDRAWN:
default:
break;
}
+#else
+ switch (prop[0])
+ {
+ case XCB_ICCCM_WM_STATE_WITHDRAWN:
+ hint = ECORE_X_WINDOW_STATE_HINT_WITHDRAWN;
+ break;
+ case XCB_ICCCM_WM_STATE_NORMAL:
+ hint = ECORE_X_WINDOW_STATE_HINT_NORMAL;
+ break;
+ case XCB_ICCCM_WM_STATE_ICONIC:
+ hint = ECORE_X_WINDOW_STATE_HINT_ICONIC;
+ break;
+ default:
+ break;
+ }
+#endif
free(reply);
return hint;
EAPI void
ecore_x_icccm_state_set(Ecore_X_Window win, Ecore_X_Window_State_Hint state)
{
+#ifdef OLD_XCB_VERSION
xcb_wm_hints_t hints;
+#else
+ xcb_icccm_wm_hints_t hints;
+#endif
LOGFN(__FILE__, __LINE__, __FUNCTION__);
+#ifdef OLD_XCB_VERSION
xcb_wm_hints_set_none(&hints);
hints.flags = XCB_WM_HINT_STATE;
xcb_wm_hints_set_iconic(&hints);
xcb_set_wm_hints(_ecore_xcb_conn, win, &hints);
+#else
+ xcb_icccm_wm_hints_set_none(&hints);
+
+ hints.flags = XCB_ICCCM_WM_HINT_STATE;
+
+ if (state == ECORE_X_WINDOW_STATE_HINT_WITHDRAWN)
+ xcb_icccm_wm_hints_set_withdrawn(&hints);
+ else if (state == ECORE_X_WINDOW_STATE_HINT_NORMAL)
+ xcb_icccm_wm_hints_set_normal(&hints);
+ else if (state == ECORE_X_WINDOW_STATE_HINT_ICONIC)
+ xcb_icccm_wm_hints_set_iconic(&hints);
+
+ xcb_icccm_set_wm_hints(_ecore_xcb_conn, win, &hints);
+#endif
+
}
EAPI void
EAPI void
ecore_x_icccm_hints_set(Ecore_X_Window win, Eina_Bool accepts_focus, Ecore_X_Window_State_Hint initial_state, Ecore_X_Pixmap icon_pixmap, Ecore_X_Pixmap icon_mask, Ecore_X_Window icon_window, Ecore_X_Window window_group, Eina_Bool is_urgent)
{
+#ifdef OLD_XCB_VERSION
xcb_wm_hints_t hints;
+#else
+ xcb_icccm_wm_hints_t hints;
+#endif
LOGFN(__FILE__, __LINE__, __FUNCTION__);
+#ifdef OLD_XCB_VERSION
xcb_wm_hints_set_none(&hints);
xcb_wm_hints_set_input(&hints, accepts_focus);
if (is_urgent) xcb_wm_hints_set_urgency(&hints);
xcb_set_wm_hints(_ecore_xcb_conn, win, &hints);
+#else
+ xcb_icccm_wm_hints_set_none(&hints);
+ xcb_icccm_wm_hints_set_input(&hints, accepts_focus);
+
+ if (initial_state == ECORE_X_WINDOW_STATE_HINT_WITHDRAWN)
+ xcb_icccm_wm_hints_set_withdrawn(&hints);
+ else if (initial_state == ECORE_X_WINDOW_STATE_HINT_NORMAL)
+ xcb_icccm_wm_hints_set_normal(&hints);
+ else if (initial_state == ECORE_X_WINDOW_STATE_HINT_ICONIC)
+ xcb_icccm_wm_hints_set_iconic(&hints);
+
+ if (icon_pixmap != 0)
+ xcb_icccm_wm_hints_set_icon_pixmap(&hints, icon_pixmap);
+ if (icon_mask != 0)
+ xcb_icccm_wm_hints_set_icon_mask(&hints, icon_mask);
+ if (icon_window != 0)
+ xcb_icccm_wm_hints_set_icon_window(&hints, icon_window);
+ if (window_group != 0)
+ xcb_icccm_wm_hints_set_window_group(&hints, window_group);
+ if (is_urgent)
+ xcb_icccm_wm_hints_set_urgency(&hints);
+
+ xcb_icccm_set_wm_hints(_ecore_xcb_conn, win, &hints);
+#endif
}
EAPI Eina_Bool
ecore_x_icccm_hints_get(Ecore_X_Window win, Eina_Bool *accepts_focus, Ecore_X_Window_State_Hint *initial_state, Ecore_X_Pixmap *icon_pixmap, Ecore_X_Pixmap *icon_mask, Ecore_X_Window *icon_window, Ecore_X_Window *window_group, Eina_Bool *is_urgent)
{
xcb_get_property_cookie_t cookie;
+#ifdef OLD_XCB_VERSION
xcb_wm_hints_t hints;
+#else
+ xcb_icccm_wm_hints_t hints;
+#endif
uint8_t ret = 0;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
if (window_group) *window_group = 0;
if (is_urgent) *is_urgent = EINA_FALSE;
+#ifdef OLD_XCB_VERSION
xcb_wm_hints_set_none(&hints);
cookie = xcb_get_wm_hints_unchecked(_ecore_xcb_conn, win);
ret = xcb_get_wm_hints_reply(_ecore_xcb_conn, cookie, &hints, NULL);
+#else
+ xcb_icccm_wm_hints_set_none(&hints);
+ cookie = xcb_icccm_get_wm_hints_unchecked(_ecore_xcb_conn, win);
+ ret = xcb_icccm_get_wm_hints_reply(_ecore_xcb_conn, cookie, &hints, NULL);
+#endif
if (!ret) return EINA_FALSE;
+#ifdef OLD_XCB_VERSION
if ((hints.flags & XCB_WM_HINT_INPUT) && (accepts_focus))
+#else
+ if ((hints.flags & XCB_ICCCM_WM_HINT_INPUT) && (accepts_focus))
+#endif
{
if (hints.input)
*accepts_focus = EINA_TRUE;
*accepts_focus = EINA_FALSE;
}
+#ifdef OLD_XCB_VERSION
if ((hints.flags & XCB_WM_HINT_STATE) && (initial_state))
{
if (hints.initial_state == XCB_WM_STATE_WITHDRAWN)
if ((hints.flags & XCB_WM_HINT_X_URGENCY) && (is_urgent))
*is_urgent = EINA_TRUE;
+#else
+ if ((hints.flags & XCB_ICCCM_WM_HINT_STATE) && (initial_state))
+ {
+ if (hints.initial_state == XCB_ICCCM_WM_STATE_WITHDRAWN)
+ *initial_state = ECORE_X_WINDOW_STATE_HINT_WITHDRAWN;
+ else if (hints.initial_state == XCB_ICCCM_WM_STATE_NORMAL)
+ *initial_state = ECORE_X_WINDOW_STATE_HINT_NORMAL;
+ else if (hints.initial_state == XCB_ICCCM_WM_STATE_ICONIC)
+ *initial_state = ECORE_X_WINDOW_STATE_HINT_ICONIC;
+ }
+
+ if ((hints.flags & XCB_ICCCM_WM_HINT_ICON_PIXMAP) && (icon_pixmap))
+ *icon_pixmap = hints.icon_pixmap;
+
+ if ((hints.flags & XCB_ICCCM_WM_HINT_ICON_MASK) && (icon_mask))
+ *icon_mask = hints.icon_mask;
+
+ if ((hints.flags & XCB_ICCCM_WM_HINT_ICON_WINDOW) && (icon_window))
+ *icon_window = hints.icon_window;
+
+ if ((hints.flags & XCB_ICCCM_WM_HINT_WINDOW_GROUP) && (window_group))
+ *window_group = hints.window_group;
+
+ if ((hints.flags & XCB_ICCCM_WM_HINT_X_URGENCY) && (is_urgent))
+ *is_urgent = EINA_TRUE;
+#endif
return EINA_TRUE;
}
ecore_x_icccm_icon_name_get(Ecore_X_Window win)
{
xcb_get_property_cookie_t cookie;
+#ifdef OLD_XCB_VERSION
xcb_get_text_property_reply_t prop;
+#else
+ xcb_icccm_get_text_property_reply_t prop;
+#endif
uint8_t ret = 0;
char *tmp = NULL;
if (!win) return NULL;
+#ifdef OLD_XCB_VERSION
cookie = xcb_get_wm_icon_name_unchecked(_ecore_xcb_conn, win);
ret = xcb_get_wm_icon_name_reply(_ecore_xcb_conn, cookie, &prop, NULL);
+#else
+ cookie = xcb_icccm_get_wm_icon_name_unchecked(_ecore_xcb_conn, win);
+ ret = xcb_icccm_get_wm_icon_name_reply(_ecore_xcb_conn, cookie, &prop, NULL);
+#endif
if (ret == 0) return NULL;
if (prop.name_len < 1)
{
+#ifdef OLD_XCB_VERSION
xcb_get_text_property_reply_wipe(&prop);
+#else
+ xcb_icccm_get_text_property_reply_wipe(&prop);
+#endif
return NULL;
}
if (!(tmp = malloc((prop.name_len + 1) * sizeof(char *))))
{
+#ifdef OLD_XCB_VERSION
xcb_get_text_property_reply_wipe(&prop);
+#else
+ xcb_icccm_get_text_property_reply_wipe(&prop);
+#endif
return NULL;
}
memcpy(tmp, prop.name, sizeof(char *) * prop.name_len);
}
}
+#ifdef OLD_XCB_VERSION
xcb_get_text_property_reply_wipe(&prop);
+#else
+ xcb_icccm_get_text_property_reply_wipe(&prop);
+#endif
return tmp;
}
if (ret)
{
+#ifdef OLD_XCB_VERSION
xcb_set_wm_icon_name(_ecore_xcb_conn, win, ECORE_X_ATOM_STRING,
strlen(prop.value), prop.value);
-
+#else
+ xcb_icccm_set_wm_icon_name(_ecore_xcb_conn, win, ECORE_X_ATOM_STRING,
+ 8, strlen(prop.value), prop.value);
+#endif
if (prop.value) free(prop.value);
}
else
+#ifdef OLD_XCB_VERSION
xcb_set_wm_icon_name(_ecore_xcb_conn, win, ECORE_X_ATOM_STRING,
strlen(name), name);
+#else
+ xcb_icccm_set_wm_icon_name(_ecore_xcb_conn, win, ECORE_X_ATOM_STRING,
+ 8, strlen(name), name);
+#endif
free(list[0]);
}
ev.format = 32;
ev.window = win;
ev.type = ECORE_X_ATOM_WM_CHANGE_STATE;
+#ifdef OLD_XCB_VERSION
ev.data.data32[0] = XCB_WM_STATE_ICONIC;
+#else
+ ev.data.data32[0] = XCB_ICCCM_WM_STATE_ICONIC;
+#endif
xcb_send_event(_ecore_xcb_conn, 0, root,
(XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY |
{
Ecore_X_Atom proto;
xcb_get_property_cookie_t cookie;
+#ifdef OLD_XCB_VERSION
xcb_get_wm_protocols_reply_t protos;
+#else
+ xcb_icccm_get_wm_protocols_reply_t protos;
+#endif
int i = 0, count = 0, set = 0;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
if (protocol >= ECORE_X_WM_PROTOCOL_NUM) return;
proto = _ecore_xcb_atoms_wm_protocol[protocol];
+#ifdef OLD_XCB_VERSION
cookie = xcb_get_wm_protocols_unchecked(_ecore_xcb_conn, win, proto);
if (!xcb_get_wm_protocols_reply(_ecore_xcb_conn, cookie, &protos, NULL))
+#else
+ cookie = xcb_icccm_get_wm_protocols_unchecked(_ecore_xcb_conn, win, proto);
+ if (!xcb_icccm_get_wm_protocols_reply(_ecore_xcb_conn, cookie, &protos, NULL))
+#endif
count = 0;
else
count = protos.atoms_len;
for (i = 0; i < count; i++)
atoms[i] = protos.atoms[i];
atoms[count] = proto;
+#ifdef OLD_XCB_VERSION
xcb_set_wm_protocols(_ecore_xcb_conn,
ECORE_X_ATOM_WM_PROTOCOLS,
win, count, atoms);
+#else
+ xcb_icccm_set_wm_protocols(_ecore_xcb_conn,
+ ECORE_X_ATOM_WM_PROTOCOLS,
+ win, count, atoms);
+#endif
free(atoms);
}
}
for (j = (i + 1); j < count; j++)
protos.atoms[j - 1] = protos.atoms[j];
if (count > 1)
+#ifdef OLD_XCB_VERSION
xcb_set_wm_protocols(_ecore_xcb_conn,
ECORE_X_ATOM_WM_PROTOCOLS,
win, count - 1, protos.atoms);
+#else
+ xcb_icccm_set_wm_protocols(_ecore_xcb_conn,
+ ECORE_X_ATOM_WM_PROTOCOLS,
+ win, count - 1,
+ protos.atoms);
+#endif
else
ecore_x_window_prop_property_del(win,
ECORE_X_ATOM_WM_PROTOCOLS);
}
}
+#ifdef OLD_XCB_VERSION
xcb_get_wm_protocols_reply_wipe(&protos);
+#else
+ xcb_icccm_get_wm_protocols_reply_wipe(&protos);
+#endif
}
/**
Ecore_X_Atom proto;
Eina_Bool ret = EINA_FALSE;
xcb_get_property_cookie_t cookie;
+#ifdef OLD_XCB_VERSION
xcb_get_wm_protocols_reply_t reply;
+#else
+ xcb_icccm_get_wm_protocols_reply_t reply;
+#endif
uint8_t val = 0;
unsigned int i = 0;
if (protocol >= ECORE_X_WM_PROTOCOL_NUM) return EINA_FALSE;
proto = _ecore_xcb_atoms_wm_protocol[protocol];
+#ifdef OLD_XCB_VERSION
cookie = xcb_get_wm_protocols_unchecked(_ecore_xcb_conn, win, proto);
val = xcb_get_wm_protocols_reply(_ecore_xcb_conn, cookie, &reply, NULL);
+#else
+ cookie = xcb_icccm_get_wm_protocols_unchecked(_ecore_xcb_conn, win, proto);
+ val = xcb_icccm_get_wm_protocols_reply(_ecore_xcb_conn, cookie, &reply, NULL);
+#endif
if (!val) return EINA_FALSE;
for (i = 0; i < reply.atoms_len; i++)
break;
}
+#ifdef OLD_XCB_VERSION
xcb_get_wm_protocols_reply_wipe(&reply);
+#else
+ xcb_icccm_get_wm_protocols_reply_wipe(&reply);
+#endif
+
return ret;
}
LOGFN(__FILE__, __LINE__, __FUNCTION__);
if (num > 0)
+#ifdef OLD_XCB_VERSION
xcb_set_wm_protocols(_ecore_xcb_conn, ECORE_X_ATOM_WM_PROTOCOLS,
win, num, protos);
+#else
+ xcb_icccm_set_wm_protocols(_ecore_xcb_conn, ECORE_X_ATOM_WM_PROTOCOLS,
+ win, num, protos);
+#endif
else
ecore_x_window_prop_property_del(win, ECORE_X_ATOM_WM_PROTOCOLS);
if (min_aspect) *min_aspect = mina;
if (max_aspect) *max_aspect = maxa;
+#ifdef OLD_XCB_VERSION
cookie = xcb_get_wm_normal_hints_unchecked(_ecore_xcb_conn, win);
ret = xcb_get_wm_normal_hints_reply(_ecore_xcb_conn, cookie, &hints, NULL);
+#else
+ cookie = xcb_icccm_get_wm_normal_hints_unchecked(_ecore_xcb_conn, win);
+ ret = xcb_icccm_get_wm_normal_hints_reply(_ecore_xcb_conn, cookie,
+ &hints, NULL);
+#endif
if (!ret) return EINA_FALSE;
+#ifdef OLD_XCB_VERSION
if ((hints.flags & XCB_SIZE_HINT_US_POSITION) ||
(hints.flags & XCB_SIZE_HINT_P_POSITION))
+#else
+ if ((hints.flags & XCB_ICCCM_SIZE_HINT_US_POSITION) ||
+ (hints.flags & XCB_ICCCM_SIZE_HINT_P_POSITION))
+#endif
{
if (request_pos) *request_pos = EINA_TRUE;
}
+#ifdef OLD_XCB_VERSION
if (hints.flags & XCB_SIZE_HINT_P_WIN_GRAVITY)
+#else
+ if (hints.flags & XCB_ICCCM_SIZE_HINT_P_WIN_GRAVITY)
+#endif
{
if (gravity) *gravity = hints.win_gravity;
}
+#ifdef OLD_XCB_VERSION
if (hints.flags & XCB_SIZE_HINT_P_MIN_SIZE)
+#else
+ if (hints.flags & XCB_ICCCM_SIZE_HINT_P_MIN_SIZE)
+#endif
{
minw = hints.min_width;
minh = hints.min_height;
}
+#ifdef OLD_XCB_VERSION
if (hints.flags & XCB_SIZE_HINT_P_MAX_SIZE)
+#else
+ if (hints.flags & XCB_ICCCM_SIZE_HINT_P_MAX_SIZE)
+#endif
{
maxw = hints.max_width;
maxh = hints.max_height;
if (maxh < minh) maxh = minh;
}
+#ifdef OLD_XCB_VERSION
if (hints.flags & XCB_SIZE_HINT_BASE_SIZE)
+#else
+ if (hints.flags & XCB_ICCCM_SIZE_HINT_BASE_SIZE)
+#endif
{
basew = hints.base_width;
baseh = hints.base_height;
if (baseh > minh) minh = baseh;
}
+#ifdef OLD_XCB_VERSION
if (hints.flags & XCB_SIZE_HINT_P_RESIZE_INC)
+#else
+ if (hints.flags & XCB_ICCCM_SIZE_HINT_P_RESIZE_INC)
+#endif
{
stepx = hints.width_inc;
stepy = hints.height_inc;
if (stepy < 1) stepy = 1;
}
+#ifdef OLD_XCB_VERSION
if (hints.flags & XCB_SIZE_HINT_P_ASPECT)
+#else
+ if (hints.flags & XCB_ICCCM_SIZE_HINT_P_ASPECT)
+#endif
{
if (hints.min_aspect_den > 0)
mina = ((double)hints.min_aspect_num) / ((double)hints.min_aspect_den);
LOGFN(__FILE__, __LINE__, __FUNCTION__);
+#ifdef OLD_XCB_VERSION
cookie = xcb_get_wm_normal_hints_unchecked(_ecore_xcb_conn, win);
ret = xcb_get_wm_normal_hints_reply(_ecore_xcb_conn, cookie, &hints, NULL);
+#else
+ cookie = xcb_icccm_get_wm_normal_hints_unchecked(_ecore_xcb_conn, win);
+ ret = xcb_icccm_get_wm_normal_hints_reply(_ecore_xcb_conn, cookie,
+ &hints, NULL);
+#endif
if (!ret) memset(&hints, 0, sizeof(xcb_size_hints_t));
hints.flags = 0;
+
+#ifdef OLD_XCB_VERSION
if (request_pos)
hints.flags |= XCB_SIZE_HINT_US_POSITION;
(int32_t)(max_aspect * 10000), 10000);
xcb_set_wm_normal_hints(_ecore_xcb_conn, win, &hints);
+#else
+ if (request_pos)
+ hints.flags |= XCB_ICCCM_SIZE_HINT_US_POSITION;
+
+ if (gravity != ECORE_X_GRAVITY_NW)
+ xcb_icccm_size_hints_set_win_gravity(&hints, gravity);
+ if ((min_w > 0) || (min_h > 0))
+ xcb_icccm_size_hints_set_min_size(&hints, min_w, min_h);
+ if ((max_w > 0) || (max_h > 0))
+ xcb_icccm_size_hints_set_max_size(&hints, max_w, max_h);
+ if ((base_w > 0) || (base_h > 0))
+ xcb_icccm_size_hints_set_base_size(&hints, base_w, base_h);
+ if ((step_x > 1) || (step_y > 1))
+ xcb_icccm_size_hints_set_resize_inc(&hints, step_x, step_y);
+ if ((min_aspect > 0.0) || (max_aspect > 0.0))
+ xcb_icccm_size_hints_set_aspect(&hints,
+ (int32_t)(min_aspect * 10000), 10000,
+ (int32_t)(max_aspect * 10000), 10000);
+
+ xcb_icccm_set_wm_normal_hints(_ecore_xcb_conn, win, &hints);
+#endif
}
EAPI void
ecore_x_icccm_client_machine_get(Ecore_X_Window win)
{
xcb_get_property_cookie_t cookie;
+#ifdef OLD_XCB_VERSION
xcb_get_text_property_reply_t prop;
+#else
+ xcb_icccm_get_text_property_reply_t prop;
+#endif
uint8_t ret = 0;
char *tmp = NULL;
LOGFN(__FILE__, __LINE__, __FUNCTION__);
+#ifdef OLD_XCB_VERSION
cookie = xcb_get_wm_client_machine_unchecked(_ecore_xcb_conn, win);
ret = xcb_get_wm_client_machine_reply(_ecore_xcb_conn, cookie, &prop, NULL);
+#else
+ cookie = xcb_icccm_get_wm_client_machine_unchecked(_ecore_xcb_conn, win);
+ ret = xcb_icccm_get_wm_client_machine_reply(_ecore_xcb_conn, cookie,
+ &prop, NULL);
+#endif
if (ret == 0) return NULL;
tmp = malloc((prop.name_len + 1) * sizeof(char *));
if (!tmp)
{
+#ifdef OLD_XCB_VERSION
xcb_get_text_property_reply_wipe(&prop);
+#else
+ xcb_icccm_get_text_property_reply_wipe(&prop);
+#endif
return NULL;
}
memcpy(tmp, prop.name, sizeof(char *) * prop.name_len);
tmp[prop.name_len] = '\0';
+#ifdef OLD_XCB_VERSION
xcb_get_text_property_reply_wipe(&prop);
+#else
+ xcb_icccm_get_text_property_reply_wipe(&prop);
+#endif
return tmp;
}