Not sure how to explain this, so I'll illustrate it based on a test project (attached);
I have a main form (MainForm), which opens when the application opens, as with most Lazarus applications.
On that form I have a button that allows me to open another form (ShowModal), Form2 (just a normal form - default settings).
On Form2 I have yet another button, which allows me to open a 3rd form - Form3.
Form3 has FormStyle set to fsStayOnTop, everything else are the default values.
Because the FormStyle is set to fsStayOnTop (same with fsSystemStayOntop), this form now is not responding to the mouse or the keyboard, not even in the "systemmenu" responds (eg. the "X" to close the window). None of the controls (incl. buttons) on Form3 respond to mouse or keyboard..
Note: When changing Form3.FormStyle to fsNormal; everything is OK. The form just doesn't stay on top (obviously).
However, when adding another button to the first form (MainForm), which then opens yet another form (Form4), also set to fsStayOntop, then everything works as expected. Form4 stays on top, controls respond to mouse an keyboard.
I have tested this example project under Windows and MacOS, and with both of them all forms work as expected. Just under Linux (GTK2), Form3 does not respond to anything, as if the entire form is disabled.
I did report this as a
bug, but I'm not sure if there is an "easy" work around for it.
Obviously, I'm also curious if this happens just in my setup (Lazarus 1.9.0 r58991 FPC 3.0.4 x86_64-linux-gtk2).
I've tested this in Linux Mint 19 and the latest KaOS (different kernels, completely clean).
This happens with the regular stable distribution of Lazarus and from SVN.
Any suggestions are welcome ...