Re: GEP-2 Theme Sets (aka Metathemer)

On Fri, 2002-11-01 at 07:22, Jonathan Blandford wrote:

> I read through the gep and tried to implement a metatheme selector for
> the control-center for 2.2.  I really, really didn't want to go another
> release without having some form of themeballs in GNOME, and am hoping
> we can get a working solution out of this.  I put two screenshots of my
> attempt up at:
>   (the second shot admittedly needs a little love)
> Thoughts?

Okay, so this seems basically similar to the original "need to merge the
theme capplets" approach that Bill or myself (I forget who) filed the
original bug report about all those months ago...

Here's my thoughts on how it matches the various requirements.

- GEP.  With the addition of the "Save Theme Set as..." button, which
you said will be along later, I think this design broadly meets the
functional spec with one exception: 'obsoletes need to provide separate
large print versions of themes'. 

I know there are still a lot of people who don't want to consider the
font as part of the theme, so one simple compromise I thought of was a 
'use large fonts' checkbox that would scale up the fonts in any given
theme to some fixed large size (say 18pt).  That would be big enough for
a low-vision user to get started, and if they did want to make further
changes they could do so in the Font preferences dialog.

One other thing that actually isn't in the GEP is the ability to
specify/over-ride the icon sizes specified in the gtk theme... I don't
even know if that's possible right now but it would be rather nice, so
I've added it to the Icons tab in my wee mockup below :)

- Accessibility.  When Seth originally proposed the 'theme suggests a
font and background' idea, he also suggested the addition of an
accessibility flag to the theme file (the .desktop file in this case)
that, if set, would apply the font and background automatically without
the user having to press the extra two buttons.  I'm unconvinced about
this as it's better to avoid special-casing for accessibility features,
and of course it's open to abuse by unscrupulous non-accessibility theme
authors :)  But it's maybe something to think about.

- HIG-compliance.  Biggest problem I see here is that anything you
select on a tab in a noteboook isn't supposed to affect anything on any
other tabs.  Which, if I understand this design correctly, means the
"Theme" tab really ought to be detatched from the rest of the notebook
somehow, as selecting a theme also selects a particular icon theme,
window border theme and gtk theme.

If the preview is generated on the fly rather than being a pixmap
(something like metacity-theme-viewer does, but showing more elements of
the theme), this probably isn't a problem.  If you want it to be a
pixmap supplied with the theme, though, it becomes confusing for the
user when the theme is "Currently Modified" as the pixmap won't reflect
the changes.

That brings us back to a debate we had before about whether the preview
is required at all if the dialog is instant-apply (which is how it seems
you've designed it just now).  Or perhaps the metatheme-selection part
should have an Apply button, but the individual elements should remain
instant apply, which would probably be my preference given the speed of
theme changes on my Solaris box :)

Anyway, I just had a quick play and here's one possible variation on the
design that (I think) addresses a lot of these issues:

Unfortunately, it makes the dialog more complicated :/  However, if
theme sets are going to become the primary way in a which a user makes
desktop appearance changes, though, perhaps the whole notebook part of
the dialog could be hidden behind a disclosure button, as it essentially
becomes an 'advanced tweaking' section.

Anyway, that's my thoughts... flame away ;)


CALUM BENSON, Usability Engineer       Sun Microsystems Ireland
mailto:calum benson sun com            GNOME Desktop Group                      +353 1 819 9771

Any opinions are personal and not necessarily those of Sun Microsystems

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