Update the code following release of xcb-util 0.3.8.
xcb-util is now split into several repositories since 0.3.8. This release also cleaned up the API a lot, thus update the code accordingly. Signed-off-by: Arnaud Fontaine <arnau@debian.org> Signed-off-by: Uli Schlachter <psychon@znc.in>
This commit is contained in:
parent
c452795450
commit
c9f6b65c19
|
@ -154,7 +154,7 @@ scan(void)
|
||||||
|
|
||||||
if(!attr_r || attr_r->override_redirect
|
if(!attr_r || attr_r->override_redirect
|
||||||
|| attr_r->map_state == XCB_MAP_STATE_UNMAPPED
|
|| attr_r->map_state == XCB_MAP_STATE_UNMAPPED
|
||||||
|| state == XCB_WM_STATE_WITHDRAWN)
|
|| state == XCB_ICCCM_WM_STATE_WITHDRAWN)
|
||||||
{
|
{
|
||||||
geom_wins[i] = NULL;
|
geom_wins[i] = NULL;
|
||||||
p_delete(&attr_r);
|
p_delete(&attr_r);
|
||||||
|
|
|
@ -127,7 +127,7 @@ execute_process(
|
||||||
|
|
||||||
# Use pkgconfig to get most of the libraries
|
# Use pkgconfig to get most of the libraries
|
||||||
pkg_check_modules(AWESOME_COMMON_REQUIRED REQUIRED
|
pkg_check_modules(AWESOME_COMMON_REQUIRED REQUIRED
|
||||||
xcb>=1.4)
|
xcb>=1.6)
|
||||||
|
|
||||||
pkg_check_modules(AWESOME_REQUIRED REQUIRED
|
pkg_check_modules(AWESOME_REQUIRED REQUIRED
|
||||||
glib-2.0
|
glib-2.0
|
||||||
|
@ -139,10 +139,9 @@ pkg_check_modules(AWESOME_REQUIRED REQUIRED
|
||||||
xcb-xtest
|
xcb-xtest
|
||||||
xcb-xinerama
|
xcb-xinerama
|
||||||
xcb-shape
|
xcb-shape
|
||||||
xcb-aux>=0.3.0
|
xcb-util>=0.3.8
|
||||||
xcb-atom>=0.3.0
|
|
||||||
xcb-keysyms>=0.3.4
|
xcb-keysyms>=0.3.4
|
||||||
xcb-icccm>=0.3.6
|
xcb-icccm>=0.3.8
|
||||||
xcb-image>=0.3.0
|
xcb-image>=0.3.0
|
||||||
cairo-xcb
|
cairo-xcb
|
||||||
libstartup-notification-1.0>=0.10
|
libstartup-notification-1.0>=0.10
|
||||||
|
|
56
client.c
56
client.c
|
@ -52,7 +52,7 @@ luaA_client_gc(lua_State *L)
|
||||||
client_t *c = luaA_checkudata(L, 1, &client_class);
|
client_t *c = luaA_checkudata(L, 1, &client_class);
|
||||||
button_array_wipe(&c->buttons);
|
button_array_wipe(&c->buttons);
|
||||||
key_array_wipe(&c->keys);
|
key_array_wipe(&c->keys);
|
||||||
xcb_get_wm_protocols_reply_wipe(&c->protocols);
|
xcb_icccm_get_wm_protocols_reply_wipe(&c->protocols);
|
||||||
p_delete(&c->machine);
|
p_delete(&c->machine);
|
||||||
p_delete(&c->class);
|
p_delete(&c->class);
|
||||||
p_delete(&c->instance);
|
p_delete(&c->instance);
|
||||||
|
@ -94,21 +94,21 @@ client_set_urgent(lua_State *L, int cidx, bool urgent)
|
||||||
if(c->urgent != urgent)
|
if(c->urgent != urgent)
|
||||||
{
|
{
|
||||||
xcb_get_property_cookie_t hints =
|
xcb_get_property_cookie_t hints =
|
||||||
xcb_get_wm_hints_unchecked(globalconf.connection, c->window);
|
xcb_icccm_get_wm_hints_unchecked(globalconf.connection, c->window);
|
||||||
|
|
||||||
c->urgent = urgent;
|
c->urgent = urgent;
|
||||||
ewmh_client_update_hints(c);
|
ewmh_client_update_hints(c);
|
||||||
|
|
||||||
/* update ICCCM hints */
|
/* update ICCCM hints */
|
||||||
xcb_wm_hints_t wmh;
|
xcb_icccm_wm_hints_t wmh;
|
||||||
xcb_get_wm_hints_reply(globalconf.connection, hints, &wmh, NULL);
|
xcb_icccm_get_wm_hints_reply(globalconf.connection, hints, &wmh, NULL);
|
||||||
|
|
||||||
if(urgent)
|
if(urgent)
|
||||||
wmh.flags |= XCB_WM_HINT_X_URGENCY;
|
wmh.flags |= XCB_ICCCM_WM_HINT_X_URGENCY;
|
||||||
else
|
else
|
||||||
wmh.flags &= ~XCB_WM_HINT_X_URGENCY;
|
wmh.flags &= ~XCB_ICCCM_WM_HINT_X_URGENCY;
|
||||||
|
|
||||||
xcb_set_wm_hints(globalconf.connection, c->window, &wmh);
|
xcb_icccm_set_wm_hints(globalconf.connection, c->window, &wmh);
|
||||||
|
|
||||||
hook_property(c, "urgent");
|
hook_property(c, "urgent");
|
||||||
luaA_object_emit_signal(L, cidx, "property::urgent", 0);
|
luaA_object_emit_signal(L, cidx, "property::urgent", 0);
|
||||||
|
@ -721,7 +721,7 @@ HANDLE_GEOM(height)
|
||||||
*
|
*
|
||||||
* At this stage it's just safer to keep it in normal state and avoid confusion.
|
* At this stage it's just safer to keep it in normal state and avoid confusion.
|
||||||
*/
|
*/
|
||||||
window_state_set(c->window, XCB_WM_STATE_NORMAL);
|
window_state_set(c->window, XCB_ICCCM_WM_STATE_NORMAL);
|
||||||
|
|
||||||
if(!startup)
|
if(!startup)
|
||||||
{
|
{
|
||||||
|
@ -767,14 +767,14 @@ client_geometry_hints(client_t *c, area_t geometry)
|
||||||
int32_t real_basew = 0, real_baseh = 0;
|
int32_t real_basew = 0, real_baseh = 0;
|
||||||
|
|
||||||
/* base size is substituted with min size if not specified */
|
/* base size is substituted with min size if not specified */
|
||||||
if(c->size_hints.flags & XCB_SIZE_HINT_P_SIZE)
|
if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_SIZE)
|
||||||
{
|
{
|
||||||
basew = c->size_hints.base_width;
|
basew = c->size_hints.base_width;
|
||||||
baseh = c->size_hints.base_height;
|
baseh = c->size_hints.base_height;
|
||||||
real_basew = basew;
|
real_basew = basew;
|
||||||
real_baseh = baseh;
|
real_baseh = baseh;
|
||||||
}
|
}
|
||||||
else if(c->size_hints.flags & XCB_SIZE_HINT_P_MIN_SIZE)
|
else if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_MIN_SIZE)
|
||||||
{
|
{
|
||||||
basew = c->size_hints.min_width;
|
basew = c->size_hints.min_width;
|
||||||
baseh = c->size_hints.min_height;
|
baseh = c->size_hints.min_height;
|
||||||
|
@ -783,12 +783,12 @@ client_geometry_hints(client_t *c, area_t geometry)
|
||||||
basew = baseh = 0;
|
basew = baseh = 0;
|
||||||
|
|
||||||
/* min size is substituted with base size if not specified */
|
/* min size is substituted with base size if not specified */
|
||||||
if(c->size_hints.flags & XCB_SIZE_HINT_P_MIN_SIZE)
|
if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_MIN_SIZE)
|
||||||
{
|
{
|
||||||
minw = c->size_hints.min_width;
|
minw = c->size_hints.min_width;
|
||||||
minh = c->size_hints.min_height;
|
minh = c->size_hints.min_height;
|
||||||
}
|
}
|
||||||
else if(c->size_hints.flags & XCB_SIZE_HINT_P_SIZE)
|
else if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_SIZE)
|
||||||
{
|
{
|
||||||
minw = c->size_hints.base_width;
|
minw = c->size_hints.base_width;
|
||||||
minh = c->size_hints.base_height;
|
minh = c->size_hints.base_height;
|
||||||
|
@ -796,7 +796,7 @@ client_geometry_hints(client_t *c, area_t geometry)
|
||||||
else
|
else
|
||||||
minw = minh = 0;
|
minw = minh = 0;
|
||||||
|
|
||||||
if(c->size_hints.flags & XCB_SIZE_HINT_P_ASPECT
|
if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_ASPECT
|
||||||
&& c->size_hints.min_aspect_den > 0
|
&& c->size_hints.min_aspect_den > 0
|
||||||
&& c->size_hints.max_aspect_den > 0
|
&& c->size_hints.max_aspect_den > 0
|
||||||
&& geometry.height - real_baseh > 0
|
&& geometry.height - real_baseh > 0
|
||||||
|
@ -838,7 +838,7 @@ client_geometry_hints(client_t *c, area_t geometry)
|
||||||
if(minh)
|
if(minh)
|
||||||
geometry.height = MAX(geometry.height, minh);
|
geometry.height = MAX(geometry.height, minh);
|
||||||
|
|
||||||
if(c->size_hints.flags & XCB_SIZE_HINT_P_MAX_SIZE)
|
if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_MAX_SIZE)
|
||||||
{
|
{
|
||||||
if(c->size_hints.max_width)
|
if(c->size_hints.max_width)
|
||||||
geometry.width = MIN(geometry.width, c->size_hints.max_width);
|
geometry.width = MIN(geometry.width, c->size_hints.max_width);
|
||||||
|
@ -846,7 +846,7 @@ client_geometry_hints(client_t *c, area_t geometry)
|
||||||
geometry.height = MIN(geometry.height, c->size_hints.max_height);
|
geometry.height = MIN(geometry.height, c->size_hints.max_height);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(c->size_hints.flags & (XCB_SIZE_HINT_P_RESIZE_INC | XCB_SIZE_HINT_BASE_SIZE)
|
if(c->size_hints.flags & (XCB_ICCCM_SIZE_HINT_P_RESIZE_INC | XCB_ICCCM_SIZE_HINT_BASE_SIZE)
|
||||||
&& c->size_hints.width_inc && c->size_hints.height_inc)
|
&& c->size_hints.width_inc && c->size_hints.height_inc)
|
||||||
{
|
{
|
||||||
uint16_t t1 = geometry.width, t2 = geometry.height;
|
uint16_t t1 = geometry.width, t2 = geometry.height;
|
||||||
|
@ -969,9 +969,9 @@ client_set_minimized(lua_State *L, int cidx, bool s)
|
||||||
c->minimized = s;
|
c->minimized = s;
|
||||||
banning_need_update((c)->screen);
|
banning_need_update((c)->screen);
|
||||||
if(s)
|
if(s)
|
||||||
window_state_set(c->window, XCB_WM_STATE_ICONIC);
|
window_state_set(c->window, XCB_ICCCM_WM_STATE_ICONIC);
|
||||||
else
|
else
|
||||||
window_state_set(c->window, XCB_WM_STATE_NORMAL);
|
window_state_set(c->window, XCB_ICCCM_WM_STATE_NORMAL);
|
||||||
ewmh_client_update_hints(c);
|
ewmh_client_update_hints(c);
|
||||||
if(strut_has_value(&c->strut))
|
if(strut_has_value(&c->strut))
|
||||||
screen_emit_signal(globalconf.L, c->screen, "property::workarea", 0);
|
screen_emit_signal(globalconf.L, c->screen, "property::workarea", 0);
|
||||||
|
@ -1333,7 +1333,7 @@ client_unmanage(client_t *c)
|
||||||
|
|
||||||
/* Do this last to avoid races with clients. According to ICCCM, clients
|
/* Do this last to avoid races with clients. According to ICCCM, clients
|
||||||
* arent allowed to re-use the window until after this. */
|
* arent allowed to re-use the window until after this. */
|
||||||
window_state_set(c->window, XCB_WM_STATE_WITHDRAWN);
|
window_state_set(c->window, XCB_ICCCM_WM_STATE_WITHDRAWN);
|
||||||
|
|
||||||
/* set client as invalid */
|
/* set client as invalid */
|
||||||
c->invalid = true;
|
c->invalid = true;
|
||||||
|
@ -2052,9 +2052,9 @@ luaA_client_get_size_hints(lua_State *L, client_t *c)
|
||||||
|
|
||||||
lua_createtable(L, 0, 1);
|
lua_createtable(L, 0, 1);
|
||||||
|
|
||||||
if(c->size_hints.flags & XCB_SIZE_HINT_US_POSITION)
|
if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_US_POSITION)
|
||||||
u_or_p = "user_position";
|
u_or_p = "user_position";
|
||||||
else if(c->size_hints.flags & XCB_SIZE_HINT_P_POSITION)
|
else if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_POSITION)
|
||||||
u_or_p = "program_position";
|
u_or_p = "program_position";
|
||||||
|
|
||||||
if(u_or_p)
|
if(u_or_p)
|
||||||
|
@ -2068,9 +2068,9 @@ luaA_client_get_size_hints(lua_State *L, client_t *c)
|
||||||
u_or_p = NULL;
|
u_or_p = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(c->size_hints.flags & XCB_SIZE_HINT_US_SIZE)
|
if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_US_SIZE)
|
||||||
u_or_p = "user_size";
|
u_or_p = "user_size";
|
||||||
else if(c->size_hints.flags & XCB_SIZE_HINT_P_SIZE)
|
else if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_SIZE)
|
||||||
u_or_p = "program_size";
|
u_or_p = "program_size";
|
||||||
|
|
||||||
if(u_or_p)
|
if(u_or_p)
|
||||||
|
@ -2083,7 +2083,7 @@ luaA_client_get_size_hints(lua_State *L, client_t *c)
|
||||||
lua_setfield(L, -2, u_or_p);
|
lua_setfield(L, -2, u_or_p);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(c->size_hints.flags & XCB_SIZE_HINT_P_MIN_SIZE)
|
if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_MIN_SIZE)
|
||||||
{
|
{
|
||||||
lua_pushnumber(L, c->size_hints.min_width);
|
lua_pushnumber(L, c->size_hints.min_width);
|
||||||
lua_setfield(L, -2, "min_width");
|
lua_setfield(L, -2, "min_width");
|
||||||
|
@ -2091,7 +2091,7 @@ luaA_client_get_size_hints(lua_State *L, client_t *c)
|
||||||
lua_setfield(L, -2, "min_height");
|
lua_setfield(L, -2, "min_height");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(c->size_hints.flags & XCB_SIZE_HINT_P_MAX_SIZE)
|
if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_MAX_SIZE)
|
||||||
{
|
{
|
||||||
lua_pushnumber(L, c->size_hints.max_width);
|
lua_pushnumber(L, c->size_hints.max_width);
|
||||||
lua_setfield(L, -2, "max_width");
|
lua_setfield(L, -2, "max_width");
|
||||||
|
@ -2099,7 +2099,7 @@ luaA_client_get_size_hints(lua_State *L, client_t *c)
|
||||||
lua_setfield(L, -2, "max_height");
|
lua_setfield(L, -2, "max_height");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(c->size_hints.flags & XCB_SIZE_HINT_P_RESIZE_INC)
|
if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_RESIZE_INC)
|
||||||
{
|
{
|
||||||
lua_pushnumber(L, c->size_hints.width_inc);
|
lua_pushnumber(L, c->size_hints.width_inc);
|
||||||
lua_setfield(L, -2, "width_inc");
|
lua_setfield(L, -2, "width_inc");
|
||||||
|
@ -2107,7 +2107,7 @@ luaA_client_get_size_hints(lua_State *L, client_t *c)
|
||||||
lua_setfield(L, -2, "height_inc");
|
lua_setfield(L, -2, "height_inc");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(c->size_hints.flags & XCB_SIZE_HINT_P_ASPECT)
|
if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_ASPECT)
|
||||||
{
|
{
|
||||||
lua_pushnumber(L, c->size_hints.min_aspect_num);
|
lua_pushnumber(L, c->size_hints.min_aspect_num);
|
||||||
lua_setfield(L, -2, "min_aspect_num");
|
lua_setfield(L, -2, "min_aspect_num");
|
||||||
|
@ -2119,7 +2119,7 @@ luaA_client_get_size_hints(lua_State *L, client_t *c)
|
||||||
lua_setfield(L, -2, "max_aspect_den");
|
lua_setfield(L, -2, "max_aspect_den");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(c->size_hints.flags & XCB_SIZE_HINT_BASE_SIZE)
|
if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_BASE_SIZE)
|
||||||
{
|
{
|
||||||
lua_pushnumber(L, c->size_hints.base_width);
|
lua_pushnumber(L, c->size_hints.base_width);
|
||||||
lua_setfield(L, -2, "base_width");
|
lua_setfield(L, -2, "base_width");
|
||||||
|
@ -2127,7 +2127,7 @@ luaA_client_get_size_hints(lua_State *L, client_t *c)
|
||||||
lua_setfield(L, -2, "base_height");
|
lua_setfield(L, -2, "base_height");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(c->size_hints.flags & XCB_SIZE_HINT_P_WIN_GRAVITY)
|
if(c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_WIN_GRAVITY)
|
||||||
{
|
{
|
||||||
switch(c->size_hints.win_gravity)
|
switch(c->size_hints.win_gravity)
|
||||||
{
|
{
|
||||||
|
|
6
client.h
6
client.h
|
@ -123,7 +123,7 @@ struct client_t
|
||||||
/** Window holding command needed to start it (session management related) */
|
/** Window holding command needed to start it (session management related) */
|
||||||
xcb_window_t leader_window;
|
xcb_window_t leader_window;
|
||||||
/** Client's WM_PROTOCOLS property */
|
/** Client's WM_PROTOCOLS property */
|
||||||
xcb_get_wm_protocols_reply_t protocols;
|
xcb_icccm_get_wm_protocols_reply_t protocols;
|
||||||
/** Client logical screen */
|
/** Client logical screen */
|
||||||
screen_t *screen;
|
screen_t *screen;
|
||||||
/** Client physical screen */
|
/** Client physical screen */
|
||||||
|
@ -248,8 +248,8 @@ client_raise(client_t *c)
|
||||||
static inline bool
|
static inline bool
|
||||||
client_isfixed(client_t *c)
|
client_isfixed(client_t *c)
|
||||||
{
|
{
|
||||||
return (c->size_hints.flags & XCB_SIZE_HINT_P_MAX_SIZE
|
return (c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_MAX_SIZE
|
||||||
&& c->size_hints.flags & XCB_SIZE_HINT_P_MIN_SIZE
|
&& c->size_hints.flags & XCB_ICCCM_SIZE_HINT_P_MIN_SIZE
|
||||||
&& c->size_hints.max_width == c->size_hints.min_width
|
&& c->size_hints.max_width == c->size_hints.min_width
|
||||||
&& c->size_hints.max_height == c->size_hints.min_height
|
&& c->size_hints.max_height == c->size_hints.min_height
|
||||||
&& c->size_hints.max_width
|
&& c->size_hints.max_width
|
||||||
|
|
|
@ -25,7 +25,6 @@
|
||||||
#include "common/util.h"
|
#include "common/util.h"
|
||||||
|
|
||||||
#include <xcb/xcb.h>
|
#include <xcb/xcb.h>
|
||||||
#include <xcb/xcb_atom.h>
|
|
||||||
#include <xcb/xcb_icccm.h>
|
#include <xcb/xcb_icccm.h>
|
||||||
|
|
||||||
#include "common/xutil.h"
|
#include "common/xutil.h"
|
||||||
|
|
10
event.c
10
event.c
|
@ -721,7 +721,7 @@ event_handle_clientmessage(xcb_client_message_event_t *ev)
|
||||||
client_t *c;
|
client_t *c;
|
||||||
if((c = client_getbywin(ev->window))
|
if((c = client_getbywin(ev->window))
|
||||||
&& ev->format == 32
|
&& ev->format == 32
|
||||||
&& ev->data.data32[0] == XCB_WM_STATE_ICONIC)
|
&& ev->data.data32[0] == XCB_ICCCM_WM_STATE_ICONIC)
|
||||||
{
|
{
|
||||||
luaA_object_push(globalconf.L, c);
|
luaA_object_push(globalconf.L, c);
|
||||||
client_set_minimized(globalconf.L, -1, true);
|
client_set_minimized(globalconf.L, -1, true);
|
||||||
|
@ -795,13 +795,13 @@ static void
|
||||||
xerror(xcb_generic_error_t *e)
|
xerror(xcb_generic_error_t *e)
|
||||||
{
|
{
|
||||||
/* ignore this */
|
/* ignore this */
|
||||||
if(e->error_code == XCB_EVENT_ERROR_BAD_WINDOW
|
if(e->error_code == XCB_WINDOW
|
||||||
|| (e->error_code == XCB_EVENT_ERROR_BAD_MATCH
|
|| (e->error_code == XCB_MATCH
|
||||||
&& e->major_code == XCB_SET_INPUT_FOCUS)
|
&& e->major_code == XCB_SET_INPUT_FOCUS)
|
||||||
|| (e->error_code == XCB_EVENT_ERROR_BAD_VALUE
|
|| (e->error_code == XCB_VALUE
|
||||||
&& e->major_code == XCB_KILL_CLIENT)
|
&& e->major_code == XCB_KILL_CLIENT)
|
||||||
|| (e->major_code == XCB_CONFIGURE_WINDOW
|
|| (e->major_code == XCB_CONFIGURE_WINDOW
|
||||||
&& e->error_code == XCB_EVENT_ERROR_BAD_MATCH))
|
&& e->error_code == XCB_MATCH))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
warn("X error: request=%s, error=%s",
|
warn("X error: request=%s, error=%s",
|
||||||
|
|
4
ewmh.c
4
ewmh.c
|
@ -226,7 +226,7 @@ ewmh_update_net_active_window(int phys_screen)
|
||||||
|
|
||||||
xcb_change_property(globalconf.connection, XCB_PROP_MODE_REPLACE,
|
xcb_change_property(globalconf.connection, XCB_PROP_MODE_REPLACE,
|
||||||
xutil_screen_get(globalconf.connection, phys_screen)->root,
|
xutil_screen_get(globalconf.connection, phys_screen)->root,
|
||||||
_NET_ACTIVE_WINDOW, WINDOW, 32, 1, &win);
|
_NET_ACTIVE_WINDOW, XCB_ATOM_WINDOW, 32, 1, &win);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -425,7 +425,7 @@ ewmh_client_update_hints(client_t *c)
|
||||||
state[i++] = _NET_WM_STATE_DEMANDS_ATTENTION;
|
state[i++] = _NET_WM_STATE_DEMANDS_ATTENTION;
|
||||||
|
|
||||||
xcb_change_property(globalconf.connection, XCB_PROP_MODE_REPLACE,
|
xcb_change_property(globalconf.connection, XCB_PROP_MODE_REPLACE,
|
||||||
c->window, _NET_WM_STATE, ATOM, 32, i, state);
|
c->window, _NET_WM_STATE, XCB_ATOM_ATOM, 32, i, state);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Update the client active desktop.
|
/** Update the client active desktop.
|
||||||
|
|
68
property.c
68
property.c
|
@ -105,14 +105,14 @@ property_update_wm_transient_for(client_t *c, xcb_get_property_reply_t *reply)
|
||||||
|
|
||||||
if(reply)
|
if(reply)
|
||||||
{
|
{
|
||||||
if(!xcb_get_wm_transient_for_from_reply(&trans, reply))
|
if(!xcb_icccm_get_wm_transient_for_from_reply(&trans, reply))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(!xcb_get_wm_transient_for_reply(globalconf.connection,
|
if(!xcb_icccm_get_wm_transient_for_reply(globalconf.connection,
|
||||||
xcb_get_wm_transient_for_unchecked(globalconf.connection,
|
xcb_icccm_get_wm_transient_for_unchecked(globalconf.connection,
|
||||||
c->window),
|
c->window),
|
||||||
&trans, NULL))
|
&trans, NULL))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -160,15 +160,15 @@ property_update_wm_normal_hints(client_t *c, xcb_get_property_reply_t *reply)
|
||||||
{
|
{
|
||||||
if(reply)
|
if(reply)
|
||||||
{
|
{
|
||||||
if(!xcb_get_wm_size_hints_from_reply(&c->size_hints, reply))
|
if(!xcb_icccm_get_wm_size_hints_from_reply(&c->size_hints, reply))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(!xcb_get_wm_normal_hints_reply(globalconf.connection,
|
if(!xcb_icccm_get_wm_normal_hints_reply(globalconf.connection,
|
||||||
xcb_get_wm_normal_hints_unchecked(globalconf.connection,
|
xcb_icccm_get_wm_normal_hints_unchecked(globalconf.connection,
|
||||||
c->window),
|
c->window),
|
||||||
&c->size_hints, NULL))
|
&c->size_hints, NULL))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -180,31 +180,31 @@ property_update_wm_normal_hints(client_t *c, xcb_get_property_reply_t *reply)
|
||||||
void
|
void
|
||||||
property_update_wm_hints(client_t *c, xcb_get_property_reply_t *reply)
|
property_update_wm_hints(client_t *c, xcb_get_property_reply_t *reply)
|
||||||
{
|
{
|
||||||
xcb_wm_hints_t wmh;
|
xcb_icccm_wm_hints_t wmh;
|
||||||
|
|
||||||
if(reply)
|
if(reply)
|
||||||
{
|
{
|
||||||
if(!xcb_get_wm_hints_from_reply(&wmh, reply))
|
if(!xcb_icccm_get_wm_hints_from_reply(&wmh, reply))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(!xcb_get_wm_hints_reply(globalconf.connection,
|
if(!xcb_icccm_get_wm_hints_reply(globalconf.connection,
|
||||||
xcb_get_wm_hints_unchecked(globalconf.connection, c->window),
|
xcb_icccm_get_wm_hints_unchecked(globalconf.connection, c->window),
|
||||||
&wmh, NULL))
|
&wmh, NULL))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
luaA_object_push(globalconf.L, c);
|
luaA_object_push(globalconf.L, c);
|
||||||
client_set_urgent(globalconf.L, -1, xcb_wm_hints_get_urgency(&wmh));
|
client_set_urgent(globalconf.L, -1, xcb_icccm_wm_hints_get_urgency(&wmh));
|
||||||
if(wmh.flags & XCB_WM_HINT_STATE &&
|
if(wmh.flags & XCB_ICCCM_WM_HINT_STATE &&
|
||||||
wmh.initial_state == XCB_WM_STATE_WITHDRAWN)
|
wmh.initial_state == XCB_ICCCM_WM_STATE_WITHDRAWN)
|
||||||
client_set_border_width(globalconf.L, -1, 0);
|
client_set_border_width(globalconf.L, -1, 0);
|
||||||
|
|
||||||
if(wmh.flags & XCB_WM_HINT_INPUT)
|
if(wmh.flags & XCB_ICCCM_WM_HINT_INPUT)
|
||||||
c->nofocus = !wmh.input;
|
c->nofocus = !wmh.input;
|
||||||
|
|
||||||
if(wmh.flags & XCB_WM_HINT_WINDOW_GROUP)
|
if(wmh.flags & XCB_ICCCM_WM_HINT_WINDOW_GROUP)
|
||||||
client_set_group_window(globalconf.L, -1, wmh.window_group);
|
client_set_group_window(globalconf.L, -1, wmh.window_group);
|
||||||
|
|
||||||
lua_pop(globalconf.L, 1);
|
lua_pop(globalconf.L, 1);
|
||||||
|
@ -217,18 +217,18 @@ property_update_wm_hints(client_t *c, xcb_get_property_reply_t *reply)
|
||||||
void
|
void
|
||||||
property_update_wm_class(client_t *c, xcb_get_property_reply_t *reply)
|
property_update_wm_class(client_t *c, xcb_get_property_reply_t *reply)
|
||||||
{
|
{
|
||||||
xcb_get_wm_class_reply_t hint;
|
xcb_icccm_get_wm_class_reply_t hint;
|
||||||
|
|
||||||
if(reply)
|
if(reply)
|
||||||
{
|
{
|
||||||
if(!xcb_get_wm_class_from_reply(&hint, reply))
|
if(!xcb_icccm_get_wm_class_from_reply(&hint, reply))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(!xcb_get_wm_class_reply(globalconf.connection,
|
if(!xcb_icccm_get_wm_class_reply(globalconf.connection,
|
||||||
xcb_get_wm_class_unchecked(globalconf.connection, c->window),
|
xcb_icccm_get_wm_class_unchecked(globalconf.connection, c->window),
|
||||||
&hint, NULL))
|
&hint, NULL))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -238,7 +238,7 @@ property_update_wm_class(client_t *c, xcb_get_property_reply_t *reply)
|
||||||
|
|
||||||
/* only delete reply if we get it ourselves */
|
/* only delete reply if we get it ourselves */
|
||||||
if(!reply)
|
if(!reply)
|
||||||
xcb_get_wm_class_reply_wipe(&hint);
|
xcb_icccm_get_wm_class_reply_wipe(&hint);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
@ -308,30 +308,30 @@ property_update_net_wm_pid(client_t *c,
|
||||||
void
|
void
|
||||||
property_update_wm_protocols(client_t *c, xcb_get_property_reply_t *reply)
|
property_update_wm_protocols(client_t *c, xcb_get_property_reply_t *reply)
|
||||||
{
|
{
|
||||||
xcb_get_wm_protocols_reply_t protocols;
|
xcb_icccm_get_wm_protocols_reply_t protocols;
|
||||||
xcb_get_property_reply_t *reply_copy;
|
xcb_get_property_reply_t *reply_copy;
|
||||||
|
|
||||||
if(reply)
|
if(reply)
|
||||||
{
|
{
|
||||||
reply_copy = p_dup(reply, 1);
|
reply_copy = p_dup(reply, 1);
|
||||||
|
|
||||||
if(!xcb_get_wm_protocols_from_reply(reply_copy, &protocols))
|
if(!xcb_icccm_get_wm_protocols_from_reply(reply_copy, &protocols))
|
||||||
{
|
{
|
||||||
p_delete(&reply_copy);
|
p_delete(&reply_copy);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* If this fails for any reason, we still got the old value */
|
/* If this fails for any reason, we still got the old value */
|
||||||
if(!xcb_get_wm_protocols_reply(globalconf.connection,
|
if(!xcb_icccm_get_wm_protocols_reply(globalconf.connection,
|
||||||
xcb_get_wm_protocols_unchecked(globalconf.connection,
|
xcb_icccm_get_wm_protocols_unchecked(globalconf.connection,
|
||||||
c->window, WM_PROTOCOLS),
|
c->window, WM_PROTOCOLS),
|
||||||
&protocols, NULL))
|
&protocols, NULL))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
xcb_get_wm_protocols_reply_wipe(&c->protocols);
|
xcb_icccm_get_wm_protocols_reply_wipe(&c->protocols);
|
||||||
memcpy(&c->protocols, &protocols, sizeof(protocols));
|
memcpy(&c->protocols, &protocols, sizeof(protocols));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
14
selection.c
14
selection.c
|
@ -86,18 +86,18 @@ luaA_selection_get(lua_State *L)
|
||||||
if(event_notify->selection == XCB_ATOM_PRIMARY
|
if(event_notify->selection == XCB_ATOM_PRIMARY
|
||||||
&& event_notify->property != XCB_NONE)
|
&& event_notify->property != XCB_NONE)
|
||||||
{
|
{
|
||||||
xcb_get_text_property_reply_t prop;
|
xcb_icccm_get_text_property_reply_t prop;
|
||||||
xcb_get_property_cookie_t cookie =
|
xcb_get_property_cookie_t cookie =
|
||||||
xcb_get_text_property(globalconf.connection,
|
xcb_icccm_get_text_property(globalconf.connection,
|
||||||
event_notify->requestor,
|
event_notify->requestor,
|
||||||
event_notify->property);
|
event_notify->property);
|
||||||
|
|
||||||
if(xcb_get_text_property_reply(globalconf.connection,
|
if(xcb_icccm_get_text_property_reply(globalconf.connection,
|
||||||
cookie, &prop, NULL))
|
cookie, &prop, NULL))
|
||||||
{
|
{
|
||||||
lua_pushlstring(L, prop.name, prop.name_len);
|
lua_pushlstring(L, prop.name, prop.name_len);
|
||||||
|
|
||||||
xcb_get_text_property_reply_wipe(&prop);
|
xcb_icccm_get_text_property_reply_wipe(&prop);
|
||||||
|
|
||||||
xcb_delete_property(globalconf.connection,
|
xcb_delete_property(globalconf.connection,
|
||||||
event_notify->requestor,
|
event_notify->requestor,
|
||||||
|
|
|
@ -197,7 +197,7 @@ systray_request_handle(xcb_window_t embed_win, int phys_screen, xembed_info_t *i
|
||||||
|
|
||||||
xcb_change_window_attributes(globalconf.connection, embed_win, XCB_CW_EVENT_MASK,
|
xcb_change_window_attributes(globalconf.connection, embed_win, XCB_CW_EVENT_MASK,
|
||||||
select_input_val);
|
select_input_val);
|
||||||
window_state_set(embed_win, XCB_WM_STATE_WITHDRAWN);
|
window_state_set(embed_win, XCB_ICCCM_WM_STATE_WITHDRAWN);
|
||||||
|
|
||||||
/* we grab the window, but also make sure it's automatically reparented back
|
/* we grab the window, but also make sure it's automatically reparented back
|
||||||
* to the root window if we should die.
|
* to the root window if we should die.
|
||||||
|
|
4
window.c
4
window.c
|
@ -60,7 +60,7 @@ uint32_t
|
||||||
window_state_get_reply(xcb_get_property_cookie_t cookie)
|
window_state_get_reply(xcb_get_property_cookie_t cookie)
|
||||||
{
|
{
|
||||||
/* If no property is set, we just assume a sane default. */
|
/* If no property is set, we just assume a sane default. */
|
||||||
uint32_t result = XCB_WM_STATE_NORMAL;
|
uint32_t result = XCB_ICCCM_WM_STATE_NORMAL;
|
||||||
xcb_get_property_reply_t *prop_r;
|
xcb_get_property_reply_t *prop_r;
|
||||||
|
|
||||||
if((prop_r = xcb_get_property_reply(globalconf.connection, cookie, NULL)))
|
if((prop_r = xcb_get_property_reply(globalconf.connection, cookie, NULL)))
|
||||||
|
@ -187,7 +187,7 @@ window_opacity_set(xcb_window_t win, double opacity)
|
||||||
{
|
{
|
||||||
uint32_t real_opacity = opacity * 0xffffffff;
|
uint32_t real_opacity = opacity * 0xffffffff;
|
||||||
xcb_change_property(globalconf.connection, XCB_PROP_MODE_REPLACE, win,
|
xcb_change_property(globalconf.connection, XCB_PROP_MODE_REPLACE, win,
|
||||||
_NET_WM_WINDOW_OPACITY, CARDINAL, 32, 1L, &real_opacity);
|
_NET_WM_WINDOW_OPACITY, XCB_ATOM_CARDINAL, 32, 1L, &real_opacity);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
xcb_delete_property(globalconf.connection, win, _NET_WM_WINDOW_OPACITY);
|
xcb_delete_property(globalconf.connection, win, _NET_WM_WINDOW_OPACITY);
|
||||||
|
|
Loading…
Reference in New Issue