diff --git a/icc.c b/icc.c index aeb739e..23babe6 100644 --- a/icc.c +++ b/icc.c @@ -78,20 +78,6 @@ void setstringprop(Window w, Atom a, char *str) XSetTextProperty(dpy, w, &txtp, a); } -XEvent *mkcmessage(Window w, Atom a, long x) -{ - static XEvent ev; - - memset(&ev, 0, sizeof(ev)); - ev.xclient.type = ClientMessage; - ev.xclient.window = w; - ev.xclient.message_type = a; - ev.xclient.format = 32; - ev.xclient.data.l[0] = x; - ev.xclient.data.l[1] = CurrentTime; - return &ev; -} - void getwmstate(Client *c) { Atom *p; diff --git a/icc.h b/icc.h index 227e4dc..20d09b2 100644 --- a/icc.h +++ b/icc.h @@ -24,4 +24,13 @@ extern Atom wm_state, wm_change_state, wm_protocols, wm_delete, wm_take_focus, w #define Psizeright 8 #define Psizetrans 16 + +#define mkcmessage(w, a, x, ...) (&(XEvent){.xclient = { \ + .type = ClientMessage, \ + .window = (w), \ + .message_type = (a), \ + .format = 32, \ + .data.l = {(long)(x), CurrentTime, __VA_ARGS__}, \ +}}) + #endif