JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
convert update_window() to XCB
[spectrwm.git] / spectrwm.c
index b44e5ac..496feb2 100644 (file)
@@ -924,28 +924,28 @@ ewmh_update_win_state(struct ws_win *win, long state, long action)
                            win->ewmh_flags & EWMH_F_FULLSCREEN))
                                win->ewmh_flags = orig_flags; /* revert */
 
-       XDeleteProperty(display, win->id, ewmh[_NET_WM_STATE].atom);
+       xcb_delete_property(conn, win->id, ewmh[_NET_WM_STATE].atom);
 
        if (win->ewmh_flags & EWMH_F_FULLSCREEN)
-               XChangeProperty(display, win->id, ewmh[_NET_WM_STATE].atom,
-                   XA_ATOM, 32, PropModeAppend,
-                   (unsigned char *)&ewmh[_NET_WM_STATE_FULLSCREEN].atom, 1);
+               xcb_change_property(conn, XCB_PROP_MODE_APPEND, win->id,
+                       ewmh[_NET_WM_STATE].atom, XCB_ATOM_ATOM, 32, 1,
+                       &ewmh[_NET_WM_STATE_FULLSCREEN].atom);
        if (win->ewmh_flags & EWMH_F_SKIP_PAGER)
-               XChangeProperty(display, win->id, ewmh[_NET_WM_STATE].atom,
-                   XA_ATOM, 32, PropModeAppend,
-                   (unsigned char *)&ewmh[_NET_WM_STATE_SKIP_PAGER].atom, 1);
+               xcb_change_property(conn, XCB_PROP_MODE_APPEND, win->id,
+                       ewmh[_NET_WM_STATE].atom, XCB_ATOM_ATOM, 32, 1,
+                       &ewmh[_NET_WM_STATE_SKIP_PAGER].atom);  
        if (win->ewmh_flags & EWMH_F_SKIP_TASKBAR)
-               XChangeProperty(display, win->id, ewmh[_NET_WM_STATE].atom,
-                   XA_ATOM, 32, PropModeAppend,
-                   (unsigned char *)&ewmh[_NET_WM_STATE_SKIP_TASKBAR].atom, 1);
+               xcb_change_property(conn, XCB_PROP_MODE_APPEND, win->id,
+                       ewmh[_NET_WM_STATE].atom, XCB_ATOM_ATOM, 32, 1,
+                       &ewmh[_NET_WM_STATE_SKIP_TASKBAR].atom);
        if (win->ewmh_flags & EWMH_F_ABOVE)
-               XChangeProperty(display, win->id, ewmh[_NET_WM_STATE].atom,
-                   XA_ATOM, 32, PropModeAppend,
-                   (unsigned char *)&ewmh[_NET_WM_STATE_ABOVE].atom, 1);
+               xcb_change_property(conn, XCB_PROP_MODE_APPEND, win->id,
+                       ewmh[_NET_WM_STATE].atom, XCB_ATOM_ATOM, 32, 1,
+                       &ewmh[_NET_WM_STATE_ABOVE].atom);
        if (win->ewmh_flags & SWM_F_MANUAL)
-               XChangeProperty(display, win->id, ewmh[_NET_WM_STATE].atom,
-                   XA_ATOM, 32, PropModeAppend,
-                   (unsigned char *)&ewmh[_SWM_WM_STATE_MANUAL].atom, 1);
+               xcb_change_property(conn, XCB_PROP_MODE_APPEND, win->id,
+                       ewmh[_NET_WM_STATE].atom, XCB_ATOM_ATOM, 32, 1,
+                       &ewmh[_SWM_WM_STATE_MANUAL].atom);
 }
 
 void
@@ -4155,23 +4155,23 @@ constrain_window(struct ws_win *win, struct swm_region *r, int resizable)
 void
 update_window(struct ws_win *win)
 {
-       unsigned int            mask;
-       XWindowChanges          wc;
-
-       bzero(&wc, sizeof wc);
-       mask = CWBorderWidth | CWWidth | CWHeight | CWX | CWY;
+       uint16_t        mask;
+       uint32_t        wc[5];
 
-       wc.border_width = BORDER(win);
-       wc.x = X(win);
-       wc.y = Y(win);
-       wc.width = WIDTH(win);
-       wc.height = HEIGHT(win);
+       mask = XCB_CONFIG_WINDOW_X | XCB_CONFIG_WINDOW_Y |
+               XCB_CONFIG_WINDOW_WIDTH | XCB_CONFIG_WINDOW_HEIGHT |
+               XCB_CONFIG_WINDOW_BORDER_WIDTH; 
+       wc[0] = X(win);
+       wc[1] = Y(win);
+       wc[2] = WIDTH(win);
+       wc[3] = HEIGHT(win);
+       wc[4] = BORDER(win);
 
-       DNPRINTF(SWM_D_EVENT, "update_window: window: 0x%lx, (x,y) w x h: "
-           "(%d,%d) %d x %d, bordered: %s\n", win->id, wc.x, wc.y, wc.width,
-           wc.height, YESNO(win->bordered));
+       DNPRINTF(SWM_D_EVENT, "update_window: window: 0x%x, (x,y) w x h: "
+           "(%d,%d) %d x %d, bordered: %s\n", win->id, wc[0], wc[1], wc[2],
+           wc[3], YESNO(win->bordered));
 
-       XConfigureWindow(display, win->id, mask, &wc);
+       xcb_configure_window(conn, win->id, mask, wc);
 }
 
 #define SWM_RESIZE_STEPS       (50)