Dwm + systray + picom

I finally managed to get picom working correctly with dwm and the systray. Previously picom would recognise the systray as it’s own window and add a shadow around it. Thanks to Bakkeby from Reddit, that is sorted.

I’m not sure why I didn’t come across this earlier. Also, this works on my dwm-6.2 build not sure if it will for 6.3 and 6.4.


What other patches are you using?


It works on patched dwm 6.4

1 Like

Did you try to add this line is shadow-exclude?

"class_g = 'dwm'"

I don’t use picom in dwm. Didn’t test it myself.

1 Like

I already had that. Because of the way the systemtray is created, that configuration has no effect. So add the couple lines of code from the link @Dobbie03 provided and recompile.

Normally I use a picom.dwm file for dwm with shadows set to false. Just transparent terminals; mostly for screenshots.

1 Like

These and a few more that I forgot to add to the list. I’m not using the anybar patch on this one though.

Yes, that never worked, I always used xcompmgr as a workaround for compositing. Felt like some decent shadows today so that’s why Iooked into Picom again.

1 Like

My picom.conf
shadow = true;
shadow-radius = 12;
shadow-offset-x = -5;
shadow-offset-y = -5;
shadow-opacity = 0.5;

shadow-exclude = [
“! name~=‘’”,
“name = ‘Notification’”,
“name = ‘lemonbar’”,
“name = ‘Docky’”,
“name = ‘Kupfer’”,
“name = ‘xfce4-notifyd’”,
“name = ‘cpt_frame_window’”,
“name *= ‘VLC’”,
“name *= ‘compton’”,
“name *= ‘picom’”,
“name *= ‘Chromium’”,
“name *= ‘Chrome’”,
“class_g = ‘Firefox’ && argb”,
“class_g = ‘Conky’”,
“class_g = ‘Kupfer’”,
“class_g = ‘Synapse’”,
“class_g ?= ‘Notify-osd’”,
“class_g ?= ‘Cairo-dock’”,
“class_g ?= ‘Xfce4-notifyd’”,
“class_g ?= ‘Xfce4-power-manager’”,

This never worked for, even though it was offered as an alternative to patching the dwm build.

1 Like

Need to look into NET_WM_STATE as it was a command that was already included with picom.conf file.

Thanks for pointing this out :+1:

_NET_WM_STATE_HIDDEN should be enabled when window isn’t visible in any active workspace