Make i3 compatible with the very latest xcb
This involves: • Compiling with xcb-util instead of xcb-{atom,aux} (they merged the libraries) • Not using xcb-{event,property} anymore (code removed upstream) • Not using the predefined WINDOW, CARDINEL, … atoms (removed upstream) • Using the new xcb_icccm_* data types/functions instead of just xcb_* (for example xcb_icccm_get_wm_hints instead of xcb_get_wm_hints) Also I refactored the atoms to use x-macros.
This commit is contained in:
@ -31,7 +31,7 @@ void ewmh_update_current_desktop() {
|
||||
TAILQ_FOREACH(ws, &(output_get_content(output)->nodes_head), nodes) {
|
||||
if (ws == focused_ws) {
|
||||
xcb_change_property(conn, XCB_PROP_MODE_REPLACE, root,
|
||||
atoms[_NET_CURRENT_DESKTOP], CARDINAL, 32, 1, &idx);
|
||||
A__NET_CURRENT_DESKTOP, A_CARDINAL, 32, 1, &idx);
|
||||
return;
|
||||
}
|
||||
++idx;
|
||||
@ -48,7 +48,7 @@ void ewmh_update_current_desktop() {
|
||||
*/
|
||||
void ewmh_update_active_window(xcb_window_t window) {
|
||||
xcb_change_property(conn, XCB_PROP_MODE_REPLACE, root,
|
||||
atoms[_NET_ACTIVE_WINDOW], WINDOW, 32, 1, &window);
|
||||
A__NET_ACTIVE_WINDOW, A_WINDOW, 32, 1, &window);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -104,7 +104,7 @@ void ewmh_update_workarea() {
|
||||
}
|
||||
}
|
||||
xcb_change_property(conn, XCB_PROP_MODE_REPLACE, root,
|
||||
atoms[_NET_WORKAREA], CARDINAL, 32,
|
||||
A__NET_WORKAREA, A_CARDINAL, 32,
|
||||
num_workspaces * (sizeof(Rect) / sizeof(uint32_t)),
|
||||
workarea);
|
||||
free(workarea);
|
||||
|
Reference in New Issue
Block a user