RE: Theme suggestion: use shared libraries

I just had to assert my strong support for the ideas expressed by
Maciej.  This definitely sounds like the best way to go!


	... As I see it, theme-like
> functionality has two purposes:
> * Emulate the native loook of various OS's and windowing systems that
> people are used to and like.
> * Provide various highly customized "flashy" looks.
> These two goals have slightly different requirements. The first goal,
> it seems to me, is best achieved by something with minimal resource
> overhead (low memory usage, high speed, low load on X server, etc),
> and maximum accuracy in emulating the target systems. The second is
> best achieved by a framework that provides maximum flexibility, and
> allows new looks to be implemented easily, without actual programming.
> I think what we should shoot for is a system that can satisfy both
> these sets of somewhat contradictory constraints, as well as
> efficiently implementing the current native Gtk look. 
> What I suggest to solve this is the use of shared library
> plugins. This has been discussed before on the main gnome-list, but
> I'd like to flesh out the idea, and suggest some reasosns why it's
> preferrable to the approach that it appears is currently being taken.
> How this could be implemented:
> * Modify the gtk core so that instead of drawing functions being
> statically attached to each widget class, each widget class (or
> perhaps even each individual widget) would have a pointer to a drawing
> function that would be changed at runtime. Also provide an interface
> so that this could be changed on the fly, and so that new drawing
> functions could be dynamically loaded and added to existing widgets.
> * Package available sets of drawing functions as separate libraries
> that are loaded at runtime. Allow libraries that provide various looks
> to be statically linked in with gtk, or dynamically loaded at
> runtime. It may be advisable to compile the native gtk look in
> directly by default, but I don't think this is useful on systems with
> good shared library support; you may want to just unload the native
> gtk look if you are using the pixmap-based look, or the mac look

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]