GNOME Bugzilla – Bug 463881
Evaluate other gnome-mag features for inclusion in Orca prefs
Last modified: 2008-07-22 19:32:51 UTC
In looking at the gnome-mag docs and code, there are several features that I think we should evaluate for possible support for within Orca: 1. Zoomer border size and color 2. Brightness 3. Contrast 4. Color-blind filter
This one has a target of 2.21.4. Which of these features do we want to implement before then?
I marked this for 2.21.4 because of the string and UI changes that would be required to do it. I don't think we've had any direct user requests for these features, either, and the future of gnome-mag is uncertain. So I'm going to push this one out to post-2.22.
Created attachment 100859 [details] [review] Revision 1 Tons of thanks and appreciation to Rich! I'm posting this patch, but it's another "tag team" effort. Highlights: * Added border support * Added separate colors for border, cross-hairs, mouse pointer * Added brightness and contrast (both basic and advanced -- the latter being separate RGB levels) * Added support for the colorblind filters currently available via libcolorblind. (Note, you must install libcolorblind, and then rebuild gnome-mag for this support to work.) * There is now an Advanced Settings dialog which holds the custom color settings along with the setting for smoothing and the source and target displays. * We now "live update" the changes so that you can see how things are going to look without having to press the Apply button repeatedly. This includes resizing a custom-sized zoom window. If you don't care for the live updating, you can change the following setting: enableMagLiveUpdating. * Live updating also applies to alignment and tracking including the edge margin. This means that you can, say, get into OOo Writer, get into Orca Preferences, tweak a trackign preference, and immediately Alt Tab back to Writer to try it. State of the revision: There are only two "nits" I'm aware of: 1. Escape doesn't exit you out of the Advanced dialog. 2. There's a bit more jumpiness than I would expect to see. I think this patch is ready for testing and feedback.
I just got off the phone with Will. He said we should check this patch in. Done. (Yea!) Things that would be nice to do still are fix the above two "nits". The jumpiness issue may be bigger than this patch however, and part of it is the screen blanking. I opened a gnome-mag bug on the latter (bug 503075). I'm going to see if I can reduce the jumpiness specifically as it relates to this bug. If I can't fix that isolated problem, I suggest we open a new bug for the broader issue. Along those same lines, right now if you don't have libcolorblind installed you can change the color filters, but nothing actually happens as a result of the change. It would be nice for that option to be greyed out if libcolorblind is not installed. We currently have no way of knowing whether or not it's installed. I've requested the exposing of this information of Carlos (see bug 502893). When that is fixed, I'll open a new bug against Orca for the greying-out of the control.
Created attachment 100899 [details] [review] two minor tweaks 1. Check to see if the magnifier has been initialized before doing something with it in setupMagnifier(). This is necessary because setupMagnifier() gets called when the Position combobox changes -- and it changes (even if the magnifier is not running) when the Preferences dialog initially loads and is populating. Oversight on my part. Sorry! 2. Removed a call to the zoomer's updatePointer() function. It wasn't working anyway, so I hacked around it to make the updating work for the pointer. However, what I didn't know is that it's apparently a fairly recent update to gnome-mag and was generating tracebacks if you didn't have the latest version. Patch already committed.
Something is still askew with trying to force full screen as the default setting. When I select the enable magnifier checkbox, I get the following output in the terminal where I ran Orca *and* all the controls on the magnifier remain grayed out. Without hand editing my user-preferences file, I cannot get out of this situation. Traceback (most recent call last):
+ Trace 181825
mag.init()
applySettings()
__setupZoomer()
raise RuntimeError, "Nothing can be magnified"
Will, I just opened bug 503522 for that issue and will look at it later tonight. Did you have this issue prior to the addition of the features listed in this bug?
(In reply to comment #7) > Will, I just opened bug 503522 for that issue and will look at it later > tonight. > > Did you have this issue prior to the addition of the features listed in this > bug? > I don't recall having these issues. But, it might have come in with the work on bug 452316.
Since I'm still trying to work out some kinks in the new mag settings and suddenly noticed yet another day has nearly gone by, it would be very helpful if you could try something: In your user-settings.py, orca.settings.enableMagLiveUpdating and set it to False. If setting it to False makes the problem go away, then there's our culprit. Thanks!
(In reply to comment #9) > if you could try something: In your user-settings.py, > orca.settings.enableMagLiveUpdating and set it to False. If setting it to > False makes the problem go away, then there's our culprit. Setting it to False let's me edit the settings. Yeah! Ideally, though, it would be good to fallback to something if enableMagLiveUpdating were True and the "Nothing can be magnified" error condition were detected. In this case, it might be nice just to fallback to the right half of the display (if that can be determined when the error condition is detected). Thanks!
I just checked in a tweak that should not force you to do that any more. We should no longer live update when the dialog is populating. Could you please get the latest trunk, put enableMagLiveUpdating to True, and see if you're still okay? Thanks!! (and sorry) The fallback to the right half is still the new bug I opened for you. :-) I know where we need to make a change. Just a matter of figuring out what the exact change is.
> I just checked in a tweak that should not force you to do that any more. We > should no longer live update when the dialog is populating. Could you please > get the latest trunk, put enableMagLiveUpdating to True, and see if you're > still okay? Seems to work better now. Thanks!
Created attachment 100961 [details] [review] another tweak.... Rich pointed out that if you are live updating magnification and quit Orca with the preferences dialog still up, Orca will quit but gnome-mag won't. :-( In orca.py, we shutdown magnification if settings.enableMagnifier. In this instance, settings.enableMagnifier is False. We should also check for the possibility that we might be live updating. Since I wasn't able to reproduce the problem any longer, I asked Rich to test this patch. He indicated it solves the problem, so I went ahead and committed it already. Thanks Rich!
Created attachment 100973 [details] [review] more tweaks.... 1. Minimize jumpiness when "live updating" the zoom factor. Note, this doesn't solve the "blanking out" issue. But I believe that's a gnome-mag thing. I will ask Carlos for his input. 2. Unrelated to the RFE, but related to testing the features herein: The page increment for the zoom factor spin button was 10(!!). Up/Down moves you in increments of .25. A more reasonable increment for Page Up/Page Down is 1. Change made.
Created attachment 100974 [details] [review] YAT (T == tweak) We weren't correctly restoring the settings if the user entered and escaped out of the Advanced Settings dialog multiple times. This patch fixes that. Thanks Rich for figuring it out and doing it! I was stumped.... Patch committed. While there will always be room for growth and improvement in our magnification support, including in the areas addressed in the RFE, I for one think we've implemented everything we set out to implement here. <wipes brow>
I was chatting with Rich and we both feel that this bug is at a point where it can be closed as FIXED. As feedback from users comes in, we'll open new bugs/RFEs as appropriate. If anyone objects, feel free to reopen.