No shadows under most popup / context menus
System Info
OS: Arch Linux
Xfce Version: 4.18
Xfwm version: 4.18.0
GTK3 version: 3.24.36 (gtk3-classic)
Problem Description
When the option 'Show shadows under popup windows' in 'Window Manager Tweaks' is enabled, this only seems to work for some menus. From what I observed, they do show for (at least) the following cases:
- All of Pale Moon's menus (kind-of GTK2);
- Qt5 applications (using the GTK2 plugin);
- Panel calendar;
- GTK2 and GTK3 application menubar popup menus (but only after having opened them at least once, and NOT their context menus).
- Context menus, and button menus (e.g. the filetype selector) in GTK3 applications again after having opened them once
(but not for GTK2 applications, at least not HexChat's menus)They do show for GTK2 after opening once too, but only if no additional custom styling is applied through a user gtkrc (I don't understand this myself either), and not for 'root' context menus (e.g. HexChat's right-click menu); - Xfce's panel menus, also only after opening them once before.
It is to note, though, that as soon as any application that shows this behavior is closed, after restarting the application(s) the menus are 'shadowless' again until they've been re-opened once.
Most other menus (mostly context/right-click menus, from what I gathered) and all tooltips belonging to either GTK2 or GTK3 applications do not show a shadow whatsoever. I'm not actually sure if it's caused by gtk3-classic (a set of patches for GTK3 to make it behave more like GTK2, targeted mainly at 'classic' desktops like MATE and Xfce); using the vanilla GTK3 however yields to no comparable results as under it, menus are drawn with what seem to be (thin) client-side shadows. As it seems to influence 'pure' GTK2 applications too, it's probably not an issue with my gtk3-classic build.
I've so far 'circumvented' this inconsistency by keeping popup shadows disabled; I'd like to use them, though.
'Investigation'
I've tried going through the sources and history of Xfwm4's compositor; however, it seems most things dealing with the logic of drawing shadows were added well over fifteen (15) years ago (according to git blame anyway), so I hold it for highly unlikely that it would reside therein. The diff between 4.16.1 and 4.18.0 also doesn't really show anything that, to my non-developer eyes, would cause this to happen.
Thanks a lot in advance, even if just for reading my novel ;)