Basically every toolkit out there has widgets fader, button, knob.
So one you usually only has to reimplement the paint method in order to
change the appearance or write a different style.
If you prefer a toolkit independent gui library you could use my stripped
down version of the vstgui lib, which uses cairo as the drawing backend.
Together with skinman and knobman, the two widely used windows programs
for generating nice vst guis (running fine in wine) you have basically
the same
toolchain as the windows vst devs.
Drumfix
PS: Linux Vst developers, please write VST compliant code.
The interface of effEditOpen is effEditOpen(void *), not
effEditOpen(void *, void *)
i.o.w hosts should send a pointer to a struct {Display *d; Window w;} in
(ptr) instead
of Display * (val) and Window (ptr)