XMonad and Menus

Heya folks

Got a report from a user on Arch + X-Monad that menus don’t work properly. From them:

another little strange issue that I noticed now that maybe helps or doesn’t: I notice that when a sub-menu is opened (say, I open up FX select and go “resonator” category and that submenu opens) and I try to go to another category, when I do so the entire fx select menu closes down and not just the submenu.

also in the process of writing this, I noticed this little thing. when I switched workspace from my DAW to the one with discord, the menu followed with the workspaces. This is not usually how floating windows behaves on my system (the normal plugin window doesn’t change workspace for example, but stays in the DAW workspace).

oh wow I actually managed to find a way to consistenly pick something out of the menus, though it is weird. if I hold down the mouse click, then navigate to the option I want to select and first then release the mouse click, it works consistently and picks the thing I want

We are on juce 6.1.6 with a couple of micro-patches for accessibility and the utility include for gcc12. Anyone see anything like this? Any bells rung? Any information which could help?

Thanks so much!

Sub-menu’s are a bit thorny in JUCE at the moment, imho - mostly due to the parent/child process relationship that is required. Remember, a popup-menu is first instantiated as a child Window, which must be bound to the original (parent) windows’ own context in order to be managed by the windowing system - this is common on all platforms, for the most part.

But, with the new AUV3 support, this is no longer possible - AUv3 plugins run in their own process context, isolated from other processes, and are supposed to use IPC mechanisms to do data interchange - as opposed to just sharing pointers with the parent window.

So, something to check with your observation is: what is the relationship of the submenu window to the parent (host process) task context? I’m willing to bet you’ll find that the link is no longer being properly made for your platform choice and that there is still some work to be done on this, with newer JUCE versions, that hasn’t quite settled yet …