After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 411501 - Pass activated AT's to login session
Pass activated AT's to login session
Status: RESOLVED OBSOLETE
Product: gdm
Classification: Core
Component: general
2.17.x
Other All
: Normal enhancement
: ---
Assigned To: GDM maintainers
GDM maintainers
AP2
: 155969 (view as bug list)
Depends on:
Blocks: 411506
 
 
Reported: 2007-02-24 08:20 UTC by David Zeuthen (not reading bugmail)
Modified: 2008-08-16 21:26 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
proposed patch (5.82 KB, patch)
2007-02-24 08:21 UTC, David Zeuthen (not reading bugmail)
none Details | Review
proposed patch (with small fix) (6.13 KB, patch)
2007-02-24 08:26 UTC, David Zeuthen (not reading bugmail)
none Details | Review
improved patch (8.88 KB, patch)
2007-02-24 16:54 UTC, David Zeuthen (not reading bugmail)
needs-work Details | Review
patch updated to 2.19.1 (9.29 KB, patch)
2007-05-22 16:02 UTC, Matthias Clasen
reviewed Details | Review

Description David Zeuthen (not reading bugmail) 2007-02-24 08:20:11 UTC
If an user enables assistive technologies at gdm, it would make sense that the AT's run in his desktop session. In fact, for KIOSK and livecd use cases this is highly desirable. So attached is a patch that sets the environment variable GDM_ATS with these if one or more AT's was started. Then e.g. gnome-session can read these, turn a11y support on and start the appropriate AT's.

There's a TODO in the patch where I propose that instead of passing "orca" we should pass an abstract identifier for the AT launched. In fact, as Orca is both a magnifier and a screen reader something like this is needed. Perhaps we need to change/extend the format of

 /etc/gdm/modules/AccessKeyMouseEvents
 /etc/gdm/modules/AccessDwellMouseEvents

to cope with this?
Comment 1 David Zeuthen (not reading bugmail) 2007-02-24 08:21:10 UTC
Created attachment 83222 [details] [review]
proposed patch
Comment 2 David Zeuthen (not reading bugmail) 2007-02-24 08:26:15 UTC
Created attachment 83223 [details] [review]
proposed patch (with small fix)
Comment 3 David Zeuthen (not reading bugmail) 2007-02-24 16:54:10 UTC
Created attachment 83249 [details] [review]
improved patch

Here's an improved patch that doesn't break backwards compat. It's a bit ugly with the way it's specified but, hey, at least it's working. Will also attach new patch to bug 411506 which is the gnome-session side of things.
Comment 4 David Zeuthen (not reading bugmail) 2007-02-26 18:29:21 UTC
Also, passing knowledge to the greeter about what AT's can be activated (and how) would require classification of each AT. This is useful for e.g. enhancing the greeter to show this to the user.
Comment 5 Brian Cameron 2007-02-27 04:11:54 UTC
*** Bug 155969 has been marked as a duplicate of this bug. ***
Comment 6 Brian Cameron 2007-02-27 04:28:26 UTC
This looks really good.  I don't really like the way the configuration file is changed.  It might be better if it could be written like this:

#TYPE:onscreenkeyboard
TBLR I 10000    @AT_BINDIR@/gok --login --access-method=dwellselection
TLBR I 10000    @AT_BINDIR@/gok --login --access-method=automaticscanning 
  --scan-action=switch1 --select-action=switch1
TRBL I 10000    @AT_BINDIR@/gok --login --access-method=inversescanning 
  --scan-action=switch1 --select-action=switch2
TBRL I 10000    @AT_BINDIR@/gok --login  --access-method=automaticscanning 
  --scan-action=switch3 --select-action=switch3
 
#TYPE:magnifier
[...]

This would require a bit more work parsing the configuration file, but would make the file easier to read and maintain.  Also it would be backward compatible since the TYPE line would be ignored by previous versions as comments.

I notice you changed gui/greeter/greeter.c, but not gui/gdmlogin.c, so I wonder if this feature only works with gdmgreeter?

Also, I would only accept a change like this if documentation were added to the Accessibility section of docs/C/gdm.xml that explain how GDM works with a11y after this change.

Any ideas when the change will go into gnome-session to support this since it makes sense for GDM to accept this change at the same time as gnome-session.  I assume this change is for GDM 2.19 since we are so close to freeze for 2.17?
Comment 7 David Zeuthen (not reading bugmail) 2007-02-27 10:24:35 UTC
(In reply to comment #6)
> This looks really good.  

Thanks!

> I don't really like the way the configuration file is
> changed.  

Heh, me neither.

> It might be better if it could be written like this:
> 
> #TYPE:onscreenkeyboard
> TBLR I 10000    @AT_BINDIR@/gok --login --access-method=dwellselection
> TLBR I 10000    @AT_BINDIR@/gok --login --access-method=automaticscanning 
>   --scan-action=switch1 --select-action=switch1
> TRBL I 10000    @AT_BINDIR@/gok --login --access-method=inversescanning 
>   --scan-action=switch1 --select-action=switch2
> TBRL I 10000    @AT_BINDIR@/gok --login  --access-method=automaticscanning 
>   --scan-action=switch3 --select-action=switch3
> 
> #TYPE:magnifier
> [...]
> 
> This would require a bit more work parsing the configuration file, but would
> make the file easier to read and maintain.  Also it would be backward
> compatible since the TYPE line would be ignored by previous versions as
> comments.

I'll look into doing this; it should be feasible. Any thoughts on the names (e.g. magnifier, onscreenkeyboard etc.) btw? I just picked them out of the blue air. Since they constitute *some* kind of ABI perhaps there are better names?

> I notice you changed gui/greeter/greeter.c, but not gui/gdmlogin.c, so I 
> wonder if this feature only works with gdmgreeter?

Oh, I guess I missed that one. I'll make gui/gdmlogin.c do the same thing.

> Also, I would only accept a change like this if documentation were added to 
> the Accessibility section of docs/C/gdm.xml that explain how GDM works with 
> a11y after this change.

Certainly. I'll write some docs.
 
> Any ideas when the change will go into gnome-session to support this since it
> makes sense for GDM to accept this change at the same time as gnome-session.  
> I assume this change is for GDM 2.19 since we are so close to freeze for 2.17?

Yea, probably it's good to wait for 2.19 to have time to get this into gnome-session. We'll probably ship this + the gnome-session patch as a vendor patches for Fedora 7 - it's a feature we need to improve accessibility on our live CD's.

I'll hope to provide an updated patch tomorrow. Thanks!
Comment 8 Brian Cameron 2007-02-27 10:51:27 UTC
I think "magnifier", "onscreenkeyboard", and "tty" (or "texttospeech") would all be fine.  Might be a bit easier to read as "on-screen-keyboard", "text-to-speech", etc.).  

Might be nice if these could be arbitrary and correspond to the gnome-session patch.  So that whatever keyword is used in the GDM gesture file is looked up by gnome-session and can be configured there.  This way if the sysadmin wants to add new keywords to the file they simply add them to the GDM gesture file and to the gnome-session configuration file and things just work.

Anther idea is that gnome-session could just use the GDM configuration file and the session-program-to-run could also be specified in the GDM configuration file and gnome-session just looks it up there.

I think something like this would be much better than hardcoding the keywords or applications-to-run into the gnome-session code.

I looked at your existing gnome-session patch and it seems you are hardcoding things there.  Yuck.  :)
Comment 9 Brian Cameron 2007-03-20 13:31:38 UTC
Do you have an updated patch?
Comment 10 Brian Cameron 2007-04-10 05:03:41 UTC
*ping* again.  This is a neat feature I would like to see go into GDM 2.19 if possible.
Comment 11 David Zeuthen (not reading bugmail) 2007-04-10 14:47:23 UTC
Hi, sorry for not getting back earlier, been busy with hal 0.5.9 and fedora 7 - I'll update the patches for all for the bugs I have outstanding (this one, bug 412576, bug 411427) this week. Thanks.
Comment 12 Brian Cameron 2007-04-30 03:30:52 UTC
Any update David?  
Comment 13 George Kraft IV 2007-05-06 13:28:35 UTC
Is there any way to get these keyboard gestures to carry over to the desktop session per 387973?
Comment 14 Brian Cameron 2007-05-08 02:02:05 UTC
If the gestures for starting accessibility are standardized for GNOME, I would b ehappy to update the default gestures used by GDM to follow the same and be consistant.

Though this is a separate issue.  This bug simply creates a mechanism so that if a user starts an AT in GDM, that the AT program is autolaunched in their session.

Speaking of which, David, any update on getting this patch finished?
Comment 15 Matthias Clasen 2007-05-22 16:02:58 UTC
Created attachment 88623 [details] [review]
patch updated to 2.19.1
Comment 16 Brian Cameron 2007-06-04 04:06:08 UTC
Any plans to update this patch to reflect the discussion above?  David seemed interested in doing this work, but it's been a while now.
Comment 17 George Kraft IV 2007-06-04 13:16:15 UTC
After login, this information needs to be passed to the new /usr/share/gnome/autostart/gnome-at-session.desktop and /usr/bin/gnome-at-visual.  For more information, see http://live.gnome.org/GAP/ScratchPad/PreferredApplications
Comment 18 Matthias Clasen 2008-08-16 21:26:24 UTC
This bug has been obsoleted by the gdm rewrite and the a11y revamp...