diff --git a/calmwm.h b/calmwm.h index 91491c2..712a677 100644 --- a/calmwm.h +++ b/calmwm.h @@ -375,9 +375,6 @@ struct menu *menu_filter(struct screen_ctx *, struct menu_q *, void (*)(struct menu *, int)); void menu_init(struct screen_ctx *); -/* XXX should be xu_ */ -void xev_reconfig(struct client_ctx *); - void xev_loop(void); void xu_getatoms(void); @@ -390,6 +387,7 @@ void xu_ptr_setpos(Window, int, int); void xu_ptr_getpos(Window, int *, int *); void xu_key_grab(Window, int, int); void xu_key_ungrab(Window, int, int); +void xu_configure(struct client_ctx *); void xu_sendmsg(Window, Atom, long); int xu_getprop(Window, Atom, Atom, long, u_char **); int xu_getstrprop(Window, Atom, char **); diff --git a/client.c b/client.c index 8971b35..57a1efe 100644 --- a/client.c +++ b/client.c @@ -114,7 +114,7 @@ client_new(Window win, struct screen_ctx *sc, int mapped) XAddToSaveSet(X_Dpy, cc->win); /* Notify client of its configuration. */ - xev_reconfig(cc); + xu_configure(cc); (state == IconicState) ? client_hide(cc) : client_unhide(cc); xu_setstate(cc, cc->state); @@ -390,14 +390,14 @@ client_resize(struct client_ctx *cc) XMoveResizeWindow(X_Dpy, cc->win, cc->geom.x, cc->geom.y, cc->geom.width, cc->geom.height); - xev_reconfig(cc); + xu_configure(cc); } void client_move(struct client_ctx *cc) { XMoveWindow(X_Dpy, cc->win, cc->geom.x, cc->geom.y); - xev_reconfig(cc); + xu_configure(cc); } void diff --git a/xevents.c b/xevents.c index f4fca00..0d9799d 100644 --- a/xevents.c +++ b/xevents.c @@ -166,7 +166,7 @@ xev_handle_configurerequest(XEvent *ee) wc.border_width = cc->bwidth; XConfigureWindow(X_Dpy, cc->win, e->value_mask, &wc); - xev_reconfig(cc); + xu_configure(cc); } else { /* let it do what it wants, it'll be ours when we map it. */ wc.x = e->x; @@ -213,25 +213,6 @@ test: } -void -xev_reconfig(struct client_ctx *cc) -{ - XConfigureEvent ce; - - ce.type = ConfigureNotify; - ce.event = cc->win; - ce.window = cc->win; - ce.x = cc->geom.x; - ce.y = cc->geom.y; - ce.width = cc->geom.width; - ce.height = cc->geom.height; - ce.border_width = cc->bwidth; - ce.above = None; - ce.override_redirect = 0; - - XSendEvent(X_Dpy, cc->win, False, StructureNotifyMask, (XEvent *)&ce); -} - static void xev_handle_enternotify(XEvent *ee) { @@ -429,7 +410,6 @@ xev_handle_expose(XEvent *ee) client_draw_border(cc); } - volatile sig_atomic_t _xev_quit = 0; void diff --git a/xutil.c b/xutil.c index c57bea7..7f788a2 100644 --- a/xutil.c +++ b/xutil.c @@ -118,6 +118,25 @@ xu_key_ungrab(Window win, int mask, int keysym) XUngrabKey(X_Dpy, code, (mask | ign_mods[i]), win); } +void +xu_configure(struct client_ctx *cc) +{ + XConfigureEvent ce; + + ce.type = ConfigureNotify; + ce.event = cc->win; + ce.window = cc->win; + ce.x = cc->geom.x; + ce.y = cc->geom.y; + ce.width = cc->geom.width; + ce.height = cc->geom.height; + ce.border_width = cc->bwidth; + ce.above = None; + ce.override_redirect = 0; + + XSendEvent(X_Dpy, cc->win, False, StructureNotifyMask, (XEvent *)&ce); +} + void xu_sendmsg(Window win, Atom atm, long val) {