I was trying to implement a basic system tray icon using some gui kit but ended up making this c lib. Turned out this is a pretty challenging (?) topic. GTK4 dropped support, 3rd party libs are deprecated or require GTK3 (the ones I thought I could get to work).
So this is a pure c dbus system tray handler wrapped in Zig. No Glib, no GTK, no QT. Dynamic icons/titles work, as well as simple menus + callbacks. Pretty minimal, I am trying to expand.
I’ve been looking to do this exact thing for my little break notification app. I was getting nowhere with dbus docs, so this will be a great help. Thanks.