From 0c5a2c7648956ad0fc4c1918082b8dfd33fb720c Mon Sep 17 00:00:00 2001 From: Lucas de Sena Date: Thu, 19 Feb 2026 20:24:51 +0000 Subject: [PATCH] separate _NET atoms at the end of the array So when setting the list of supported _NET atoms, we can just pass a pointer to ATOM[_NET_SUPPORTED] as the beginning of the array of supported atoms, and NATOMS - _NET_SUPPORTED as its length. --- icc.c | 5 +---- icc.h | 13 ++++++++----- 2 files changed, 9 insertions(+), 9 deletions(-) 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,