X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=spectrwm.c;h=259f24651e73d143f6627f1e844385ce92251ab9;hb=7fa017b181fcbbae699cd51e61149bc31ea04b03;hp=fb70acabd0b5e51ddc2348f7e0c7d30b2bea0237;hpb=97f84bad2ca0bedb128a66acf28f3e36218dc09b;p=spectrwm.git diff --git a/spectrwm.c b/spectrwm.c index fb70aca..259f246 100644 --- a/spectrwm.c +++ b/spectrwm.c @@ -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;