JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
convert an #if 0'd XGetWMNormalHints to XCB
[spectrwm.git] / spectrwm.c
index fb70aca..259f246 100644 (file)
@@ -145,6 +145,7 @@ static const char   *buildstr = SPECTRWM_VERSION;
 #define xcb_icccm_get_wm_protocols             xcb_get_wm_protocols
 #define xcb_icccm_get_wm_protocols_reply       xcb_get_wm_protocols_reply
 #define xcb_icccm_get_wm_protocols_reply_t     xcb_get_wm_protocols_reply_t
+#define xcb_icccm_get_wm_protocols_reply_wipe  xcb_get_wm_protocols_reply_wipe
 #define xcb_icccm_get_wm_transient_for         xcb_get_wm_transient_for
 #define xcb_icccm_get_wm_transient_for_reply   xcb_get_wm_transient_for_reply
 #define xcb_icccm_wm_hints_t                   xcb_wm_hints_t
@@ -1501,6 +1502,8 @@ bar_print(struct swm_region *r, const char *s)
                sizeof(rect), &rect);
 
        /* draw back buffer */
+       gcv[0] = r->s->c[SWM_S_COLOR_BAR].color;
+       xcb_change_gc(conn, r->s->bar_gc, XCB_GC_BACKGROUND, gcv);
        gcv[0] = r->s->c[SWM_S_COLOR_BAR_FONT].color;
        xcb_change_gc(conn, r->s->bar_gc, XCB_GC_FOREGROUND, gcv);
        xcb_image_text_8(conn, len, r->bar->buffer, r->s->bar_gc, x,
@@ -5573,7 +5576,7 @@ grabkeys(void)
 {
        int                     num_screens;
        unsigned int            j, k;
-       KeyCode                 code;
+       xcb_keycode_t           *code;
        unsigned int            modifiers[] =
            { 0, LockMask, numlockmask, numlockmask | LockMask };
        struct key              *kp;
@@ -5588,12 +5591,14 @@ grabkeys(void)
                xcb_ungrab_key(conn, XCB_GRAB_ANY, screens[k].root,
                        XCB_MOD_MASK_ANY);
                RB_FOREACH(kp, key_tree, &keys) {
-                       if ((code = XKeysymToKeycode(display, kp->keysym)))
+                       if ((code = xcb_key_symbols_get_keycode(syms,
+                                       kp->keysym)))
                                for (j = 0; j < LENGTH(modifiers); j++)
-                                       XGrabKey(display, code,
+                                       xcb_grab_key(conn, True,
+                                           screens[k].root,
                                            kp->mod | modifiers[j],
-                                           screens[k].root, True,
-                                           GrabModeAsync, GrabModeAsync);
+                                           *code, XCB_GRAB_MODE_ASYNC,
+                                           XCB_GRAB_MODE_ASYNC);
                }
        }
 }
@@ -7225,9 +7230,10 @@ propertynotify(XEvent *e)
 
        switch (ev->atom) {
 #if 0
-       case XA_WM_NORMAL_HINTS:
-               long            mask;
-               XGetWMNormalHints(display, win->id, &win->sh, &mask);
+       case XCB_ATOM_WM_NORMAL_HINTS:
+               xcb_icccm_get_wm_normal_hints(conn,
+                       xcb_iccom_get_wm_normal_hints(conn, win->id),
+                       &win->sh, NULL);
                warnx("normal hints: flag 0x%x", win->sh.flags);
                if (win->sh.flags & XCB_SIZE_HINT_P_MIN_SIZE) {
                        WIDTH(win) = win->sh.min_width;