X11 is OK.
Then there is some hope. ;-)
But fpGUI is far from LCL,
By design. Simply because fpGUI had no requirement or design goal to be a VCL (Delphi) clone. That meant I could do things different and better. There was no backwards compatibility issues to worry about either.
its behavior like message processing is wierd
Then maybe their is something you don't understand. Messaging in fpGUI is implement as designed by the FPC team and it uses the
message feature from the Object Pascal language syntax. Nothing weird or odd about that. LCL does exactly the same.
and it needs hard work to porting to
On the contrary, I found it actually very easy to port VCL or LCL components to fpGUI, and I've done so many times. The reason being, fpGUI is 100% cross-platform, so you don't need IFDEF's in your application or component code, you don't need platform specific API calls etc. I'm not the only one that has experienced the ease of porting VCL or LCL components to fpGUI - others have done so too. fpGUI's code repository even contains some of those contributions.