[Lazarus] {Spam?} Re: Color setup of the Form1: TForm1
Vincent Snijders
vsnijders at quicknet.nl
Tue Jun 17 19:45:29 CEST 2008
Kostas Michalopoulos schreef:
> First of all, Linux is not GTK+. There are other toolkits around, like Qt
> and FLTK which have their own theming stuff. However X11, the windowing
> system that is mostly used in Linux and other UNIX environments (which is
> *NOT* even guarranteed that it will be the one used - i've seen some other
> UIs which use the framebuffer directly) does not dictate a specific window
> look or behavior. While GTK+ came to be a well known and widely used toolkit
> (which is something that can be said about Qt too), it doesn't make it "the
> way Linux looks like".
>
> While you can restrain yourself to not use anything non-GTK, if you open a
> non-GTK program (like a Qt program, a FLTK program, a Motif/Lesstif program,
> a Tcl/Tk program, etc) it will not look the same as the rest. This is
> because there is no universally acceptable theme engine that applies to all
> toolkits. I'm not going to argue if this is good or bad, but thats the fact.
>
> Secondly, even if there was a "Linux theme engine", the same applies to
> Windows programs. Windows in fact *have* a theme engine and even since
> Windows 3.0 (i think) you were able to change the current theme to something
> else. However as i see, the Win32 backend allows you to change colors, while
> GTK+ does not. While i can accept that doing such a thing in GTK+ is a very
> low priority (which would imply, however, that GTK+ is not finished and if
> 1.0 has to have GTK+ 1.2 finished then it has to provide this functionality
> too), i find the answer of not doing it because the theme engine dictates
> look as a cheap excuse (because otherwise if you really believe this, then
> rip off the code that changes colors in Win32 from LCL too - there is a
> theme engine there much older and widely used than GTK+'s).
>
> And third, what you propose here is a platform-specific solution. Lazarus is
> supposed to be "write once, compile everywhere" not "write once (while
> praying that your code will work in other interface), compile everywhere (to
> find bugs and missing features in other interfaces and platforms)". In the
> very worst case (which is a hack) Lazarus should create the gtkrc file
> transparently from the user/programmer.
>
> Of course i think the best solution for all these problems would be a
> crossplatform toolkit that sits below LCL and has a constant behavior no
> matter what the system is. fpGUI seems to be such a kit, but setting Lazarus
> to compile with this toolkit is failing due to some missing unit.
>
Seems like a good idea. Although I have no right of speaking, I am just
focussing on the win32 widget set, the major thing missing seems to be
patches to implement all this, please send them.
Vincent
More information about the Lazarus
mailing list