Re: how to get rid of mouse-over button color?

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

 



On 5/2/05, Paul Davis <paul@xxxxxxxxxxxxxxxxxxxxx> wrote:
> IMHO, the designers of GTK made a serious error with the "prelight"
> state. Consider a widget whose appearance is different in two
> different states, "normal" and "active", perhaps based on color, but
> possibly in other ways as well. When the mouse pointer moves over it,
> it enters the "prelight" state. The "prelight" state is a single
> state, and therefore it cannot distinguish between
> "prelight-of-an-active-widget" and "prelight-of-a-normal-widget". As a
> result, moving the mouse into a widget like this causes loss of
> information - you visually indicate mouse "focus", but you lose any
> indication of the widget state.
> 
> there are ways to work around this, such as disabling enter/leave
> events for a widget, but they all have nasty side effects. it would be
> much nicer to tell GTK globally that "this application cannot use
> prelighting because it causes loss of information" and be done with
> it.
> 
> the only alternative is a widget-by-widget hand-construction of how to
> draw the prelight state, which is so tedious and stupid as to be
> absurd.

As the author of Clearlooks, I got complaints about exactly this issue
from people using normal mouse input devices. The way I fixed it in
the engine, is by simply ignoring the prelight color for toggled
togglebuttons on mouse-over and using a lighter version of the active
color.

This way one can always see if the toggle button is toggled after a
click event, as the cost of having semi-hardcoded prelight values. At
least it improves usability, so I can live with it (and it looks neat,
too!).

Kind regards,
Richard Stellingwerff.
_______________________________________________

gtk-list@xxxxxxxxx
http://mail.gnome.org/mailman/listinfo/gtk-list


[Index of Archives]     [Touch Screen Library]     [GIMP Users]     [Gnome]     [KDE]     [Yosemite News]     [Steve's Art]

  Powered by Linux