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 _______________________________________________ Lazarus mailing list [email protected] http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
