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



On 5/2/05, Paul Davis <paul linuxaudiosystems com> 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.



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