diff --git a/icc.c b/icc.c index f5c5084..922f418 100644 --- a/icc.c +++ b/icc.c @@ -40,10 +40,7 @@ void init_atoms() void setsupports(Window root, Window checkwin) { XChangeProperty(dpy, root, ATOMS[_NET_SUPPORTED], XA_ATOM, 32, - PropModeReplace, (void *)(Atom[]){ - ATOMS[_NET_WM_STATE], - ATOMS[_NET_WM_STATE_FULLSCREEN], - }, 2); + PropModeReplace, (void *)&ATOMS[_NET_SUPPORTED], NATOMS-_NET_SUPPORTED); XChangeProperty(dpy, root, ATOMS[_NET_SUPPORTING_WM_CHECK], XA_WINDOW, 32, PropModeReplace, (void *)(Window[]){checkwin}, 1); XChangeProperty(dpy, checkwin, ATOMS[_NET_SUPPORTING_WM_CHECK], XA_WINDOW, 32, diff --git a/icc.h b/icc.h index 60b573b..287f764 100644 --- a/icc.h +++ b/icc.h @@ -31,7 +31,14 @@ extern Window get_transient_for(Window); .data.l = {(long)(x), CurrentTime, __VA_ARGS__}, \ }}) +#define NET_ATOMS \ + X(_NET_SUPPORTING_WM_CHECK) \ + X(_NET_WM_NAME) \ + X(_NET_WM_STATE) \ + X(_NET_WM_STATE_FULLSCREEN) \ + #define ATOMS_TABLE(X) \ + X(__SWM_VROOT) \ X(AMIWM_APPICONMSG) \ X(AMIWM_APPWINDOWMSG) \ X(AMIWM_SCREEN) \ @@ -45,11 +52,7 @@ extern Window get_transient_for(Window); X(WM_STATE) \ X(WM_TAKE_FOCUS) \ X(_NET_SUPPORTED) \ - X(_NET_SUPPORTING_WM_CHECK) \ - X(_NET_WM_NAME) \ - X(_NET_WM_STATE) \ - X(_NET_WM_STATE_FULLSCREEN) \ - X(__SWM_VROOT) + NET_ATOMS /* this must come last */ enum { #define X(atom) atom,