GNOME Bugzilla – Bug 676817
universal access: Allow to control color-related shader options in the shell
Last modified: 2012-08-16 09:47:12 UTC
Recently, support for contrast, lightness and brightness control was added to the shader effects used for the magnifier in gnome-shell. These can be controlled with gsettings in org.gnome.desktop.a11y.magnifier: brightness-blue brightness-green brightness-red contrast-blue contrast-green contrast-red invert-lightness Before exposing these in the panel, some work needs to happen in gnome-shell to make these effects available independent of the zoom settings. It is also possible that we may add support for grayscale / color saturation control as well. See blocking bugs.
And of course, this needs some design input too.
OS X ui for this: http://etc.usf.edu/techease/wp-content/uploads/2009/12/display2.png
Created attachment 219587 [details] Test UI for demo'ing the lightness, brightness, and contrast effects. API requested I attach the dialog shown in the screen shots on the "Lightness, Brightness, and Contrast" 3.5 features page (https://live.gnome.org/ThreePointFive/Features/LightnessBrightnessContrastEffects). I created this dialog for testing and demonstrating the colour effects. It wasn't intended as polished end-user UI, but it could start the ball rolling. The dialog has three panels named "General", "Brightness and Contrast", and "Crosshairs". There is a checkbox near the bottom of the General tab panel labelled "Invert lightness" to control the inversion effect. The "Brightness and Contrast" panel contains four spinners each for controlling brightness and contrast, respectively. The top-most spinner in each group is for an overall brightness/contrast effect. The remaining three allow for changing each individual red, green, and blue channel, for low vision users who needs to tint the screen. As I noted on https://bugzilla.gnome.org/show_bug.cgi?id=676814#c6, a better first step is: > ... adding a set of controls to the existing "Zoom Options" Panel: > - a toggle for inversion. > - a slider for brightness > - a slider for contrast > - a slider for grey scale. I'll try to put this together today.
Thanks, I'll make sure to get designer input on this at guadec
Created attachment 219601 [details] Modified gnome-control-center zoom-options.ui that includes color effects (In reply to comment #3) > ... > As I noted on https://bugzilla.gnome.org/show_bug.cgi?id=676814#c6, a better > first step is: > > ... adding a set of controls to the existing "Zoom Options" Panel: > > - a toggle for inversion. > > - a slider for brightness > > - a slider for contrast > > - a slider for grey scale. > > I'll try to put this together today. Here it is. Screen shot coming up.
Created attachment 219602 [details] Screen shot of the dialog specified in attachment 219601 [details] Screen shot showing attachment 219601 [details] (https://bugzilla.gnome.org/attachment.cgi?id=219601&action=edit).
(In reply to comment #4) > Thanks, I'll make sure to get designer input on this at guadec Thanks. Awesome.
Created attachment 219754 [details] [review] Patch that implements UI described in comment 5 UI and code that implements the addition of a "Color effects" section to the zoom options dialog as described in comment 5, and shown by the screen shot in attachment 219602 [details]. Note that the gray scale slider does not *appear* to work, but it does. That's because of a bug in the way the grayscale effect is implemented in gnome-shell (see bugzilla 680541).
Some initial impressions: - Unfortunately, this makes the dialog grow beyond the height of my monitor. We have to think hard about limiting the amount of options here. Does 'extends outside monitor really have to be an option ? (could just always turn that on). Can we turn the crosshair length in a combo box (with those choices that are currently markers), and put it in a single line together with the color ? - The brightness and contrast sliders should have a midpoint marker - The labels shouldn't be bold - I think that 'White on black' would work better as a checkbox, maybe ? - It would be handy to duplicate the Zoom on/off switch inside this dialog, so one doesn't have to close the dialog to turn the zoom on and try things out.
Will this be implemented independently of the magnifier, as was suggested in the original bug report?
Allan, see the discussion in bug 676814
(In reply to comment #9) > Some initial impressions: > > - Unfortunately, this makes the dialog grow beyond the height of my monitor. Yes, it became somewhat long. And taking into account any future addition, what about some tabs? > We have to think hard about limiting the amount of options here. Does 'extends > outside monitor really have to be an option ? (could just always turn that on). Well, and why not off? What I mean is that for example, when I test that feature I usually don't need that on. Not sure what it is the preferred choice here. > Can we turn the crosshair length in a combo box (with those choices that are > currently markers), and put it in a single line together with the color ? > > - The brightness and contrast sliders should have a midpoint marker Agree. > - The labels shouldn't be bold > > - I think that 'White on black' would work better as a checkbox, maybe ? From here: https://live.gnome.org/GnomeOS/UX/Guidelines/SwitchWidget "Appropriate usage .... or when they affect the operation of the system in a significant way" When activated all the colors of the system are affected, so I think that sentence applies here. > - It would be handy to duplicate the Zoom on/off switch inside this dialog, so > one doesn't have to close the dialog to turn the zoom on and try things out. Well, I guess that the usual process is activate the zoom, and if you are not happy, open the dialog options to tweak it. Anyway, not against to this addition.
Created attachment 221244 [details] zoom options mockup Here's a mockup for the color options. I'm suggesting that we use tabs here, since there's a lot of controls involved to show them all at once. I've also added the zoom switch that Matthias suggested - this seems like a good idea.
Created attachment 221282 [details] [review] Split the zoom dialog using tabs and cleaning This patch splits the zoom dialog options as shown in comment 13. This patch is additional to the one that Joseph uploaded on comment 8 (it doesn't replace it) The only thing that this patch doesn't do with relation with the mockup is changing the justification of the labels to the right. Allan Day mentioned it, and it is true that some of the panels of the control center use that justification. But others not. And the universal access settings are not using it. If I change it it would feel somewhat inconsistent. In my opinion changing the justification of the labels to the right needs to be a global ui review of all the elements of gnome-control-center, and for the moment it is better to keep the zoom dialog in this way. (I will attach screenshots soon)
Created attachment 221283 [details] Dialog after patch on comment 14, first tab
Created attachment 221284 [details] Dialog after patch on comment 14, last tab
(In reply to comment #16) > Created an attachment (id=221284) [details] > Dialog after patch on comment 14, last tab Looks good. There's an alignment issue with the color slider: it is a different length to the others. Also, the stops below the sliders result in the a vertical misalignment with the labels... One thing that I should have mentioned previously - in the color panel, I added the stops to indicate the default position of each slider. I hope that that makes sense.
Review of attachment 221282 [details] [review]: Rest looks fine. ::: panels/universal-access/zoom-options.c @@ +470,3 @@ } + if (priv->application_settings) g_clear_object()
Review of attachment 219754 [details] [review]: Looks fine.
Created attachment 221298 [details] [review] universal-access: Add zoom shader options Add 'Color effects' section to zoom options dialogue: - a toggle for inversion (White on black) - a slider for brightness - a slider for contrast - a slider for grey scale
Created attachment 221299 [details] [review] universal-access: Split the zoom dialog options Split dialogue into 3 tabs: * Magnifier * Crosshair * Color Effects and add a global zoom switch for easy access.
Created attachment 221300 [details] [review] universal-access: Fix deprecation warnings Related to GtkColorButton
All this looks good to me, but I haven't been able to test the actual settings, as I still have an old gnome-shell here. If it's functional, I can push those patches tomorrow.
(In reply to comment #23) > All this looks good to me, but I haven't been able to test the actual settings, > as I still have an old gnome-shell here. If it's functional, I can push those > patches tomorrow. Just tested the last three patches. Works for me.
Attachment 221298 [details] pushed as 2d6161d - universal-access: Add zoom shader options Attachment 221299 [details] pushed as 131a5ce - universal-access: Split the zoom dialog options Attachment 221300 [details] pushed as b106468 - universal-access: Fix deprecation warnings