bug https://bugs.gentoo.org/876346 diff -ru a/wmsystray/systray.h b/wmsystray/systray.h --- a/wmsystray/systray.h 2025-01-04 23:45:21.765262521 +0400 +++ b/wmsystray/systray.h 2025-01-04 23:48:21.590340299 +0400 @@ -36,5 +36,7 @@ int event_is_systray_event(XEvent *ev); int handle_systray_event(XEvent *ev); void repaint_systray(); +struct systray_item *find_systray_item (Window id); +int systray_property_update (struct systray_item *item); #endif diff -ru a/wmsystray/ui.c b/wmsystray/ui.c --- a/wmsystray/ui.c 2025-01-04 23:45:21.765262521 +0400 +++ b/wmsystray/ui.c 2025-01-04 23:49:04.894118218 +0400 @@ -10,6 +10,7 @@ #include #include +#include #include #include diff -ru a/wmsystray/ui.h b/wmsystray/ui.h --- a/wmsystray/ui.h 2025-01-04 23:45:21.766262516 +0400 +++ b/wmsystray/ui.h 2025-01-04 23:48:51.661186082 +0400 @@ -24,5 +24,6 @@ extern Display *main_disp; extern Window main_wind, icon_wind, sel_wind, draw_wind; extern char * wmsystray_xpm[]; +void draw_ui_elements(); #endif --- a/xembed/xembed.c 2025-01-04 23:45:21.766262516 +0400 +++ b/xembed/xembed.c 2025-01-04 23:46:29.884913173 +0400 @@ -2,6 +2,8 @@ xembed.c ****************************************************************************/ +#include + #include #include #include "xembed.h" diff -ru a/wmsystray/Makefile b/wmsystray/Makefile --- a/wmsystray/Makefile 2025-01-05 00:02:39.013943053 +0400 +++ b/wmsystray/Makefile 2025-01-05 00:07:41.053394062 +0400 @@ -1,6 +1,6 @@ include ../Rules.make -CFLAGS = ${X11CFLAGS} -DTRACE_LEVEL=${TRACE_LEVEL} -I../xembed -g ${EXTRACFLAGS} +CFLAGS = ${X11CFLAGS} -DTRACE_LEVEL=${TRACE_LEVEL} -I../xembed -g -D_POSIX_C_SOURCE=199309L -D_XOPEN_SOURCE=500 ${EXTRACFLAGS} LDFLAGS = ${X11LDFLAGS} -lXpm OBJS = main.o ui.o systray.o xpms.o