Hi Jules and the rest of ROLI team.
There's a race-condition in the Juce Linux VST host code.
When effEditOpen is called the plugin UI X11 Window might still not exist when the function returns.
(X11 is asynchronous)
The issue here is that the current Juce code only tries to get the plugin UI Window once, which might fail.
When this happens the plugin UI will not receive mouse and keyboard events, and in Tracktion it won't appear on the right place.
Example of race-condition happening: https://cloud.githubusercontent.com/assets/5719151/5877603/f34b9086-a320-11e4-801d-cfa6b82a0b10.png
I doesn't seem to happen on juce-demo-host (it's very rare) but does a lot in Tracktion.
My guess is that Tracktion complexity which uses X11 a lot more makes the events sync slower.
I have no fix for this yet, just wanted to let you know first.
Perhaps there's some X11 event we can listen to, and if not we could always trigger a timer until we get the window.
When this is fixed UIs should work 100% of time in Tracktion-Linux.