Re: UI Rantings [was: Re: gmc and file-selection mockups]




On Wed, 30 Dec 1998, Daniel Burrows wrote:
> On Wed, Dec 30, 1998 at 08:19:18AM -0800, Fox, Kevin M was heard to say:
> > You could modularize the open dialog code. Then if anyone wants something
> > different, they could just replace the module. That seems to be the easiest
> > solution.
> 
>   Hmm, what happens if two users on the same computer want different dialogs?
> Sounds too much like the Athena widget setup to me..  I think that it should
> either be a CORBA object or (is this possible?) in a .lo file (a la themes)

The way gtk-engines work could easily carry over along the lines you are
discussing (gnome-engines?).  With gtk-engines, you compile a .so file
with all the theme functions in it (draw_*), containing the code to
excecute the function the way you want for your theme.  Each theme has a
separate .so file, and all of them are separate from the main library
($prefix/gtk/themes/engines).  The user selects the engine to use by
putting an "engine" line in the "default" section of their ~/.gtkrc file.
This allows different users on the same computer to use different themes
with minimal impact on space. 

Not only could the same technique be used for GNOME, but I suspect it is
intended to happen eventually, since the $prefix/share/themes directories
separate out the gtk section from any other.  You could conceivably have a
Metal/gnome directory alongside of your Metal/gtk to support Swing Metal
style dialog boxes alongside the Swing Metal style widgets and your Swing
Metal enlightenment or icewm theme.

Obviously the code for this is not in place, nor will it be for 1.0.  It
is, however, a model for implementing the alternate dialogs as you were
discussing.

Best of Luck,
-Gleef




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