On 2025-07-05 01:38, Fons Adriaensen wrote:
On Fri, Jul 04, 2025 at 03:59:44PM +0200, Robin Gareus
wrote:
in your case, use XSizeHints and
XSetWMNormalHints().
Will test.
But then what is the noUSerResize feature for ?
It's an optional extension (like LV2 UI) that not all hosts implement.
I suppose it's a bug that Ardour still loads the plugin when a required
feature is not implemented.
Some things are really odd. From your example code:
*widget = (void*)self->window;
This allows the host to find out the window created by
the plugin and resize its parent window to the actual
required size.
That is backwards. The child window size should follow the parent.
If the child window is smaller than the the parent's, libsuil centers
the child window.
Then again
since DPI varies significantly you may want to make the GUI
scalable to cater for users with a HiDPI display.
I may offer two scales, based on the DPI.
That uses GLX. One step at a time - it's already hard enough.
:) despite GLX, all the window sizing and event handling are just X11.
Another thing I noticed when loading some LV2 plugins
(ACE)
in Ardour8: using the 'Add Preset' button seems to result
in a total freeze of Ardour.
Works just fine here.
https://ardour.org/debugging_ardour
--
robin