Re: [gdm-list] Session identification and postlogin




Franciso:

I am trying to do a configuration to be able to start and quit an simple onscreen keyboard (not gok; another one called onboard to be precise) during gdmlogin. (I will also start another utility, but that is not relevant here.)

Is there a project page for onscreen, or a website that would be
helpful to understand what features it has.

A dwell gesture will not start onboard directly; it will start a script that starts and quits onboard. To check whether onboard is already running, the script creates a pidfile with the pid of the started onboard instance; if onboard is already running, the script gets the pid from the pidfile, kills onboard and removes the pidfile. This is working properly on my single user setup. In order to make it also work with simultaneous multiple user, I added the value of $DISPLAY to the name of the pidfile:

pidfile="/tmp/onboard-at-gdmlogin-display-${DISPLAY}.pid"

Now I wonder whether this will also work in the case of users with multiple screens. Can anybody please confirm it?

One problem with this solution is that it only works for onscreen.
Users probably should see the same behavior for all gestures.
Also, users probably don't want to launch multiple copies of
GOK or orca either.

Perhaps the gesture module code could remember which gestures
had already been recognized and if the user issues the same gesture,
it could kill the program it started.  This might be a bit cleaner
than trying to manage this in a script that the gesture module starts.
The advantage of doing this sort of thing in the gesture module is that
the gesture module knows the gestures it has receives and the pid's of
the programs it has launched.

Moreover, when gdmlogin quits, the pidfile will remain present on the system if the user did not quit onboard. So I will create a "cleanup" script to remove the pidfile, and call it from PostLogin.

You'ld also have to make sure to handle situations if onscreen
crashes abnormally.

Could anybody please confirm that it is the correct way to do it?

I'd say there are probably multiple ways that we could get the
sort of behavior you are looking for.

Moreover, could anybody please confirm that during PostLogin, the variable $DISPLAY will still have the same value that it had during the gdmlogin session? Otherwise, the cleanup script will not be able to reconstruct the name of the pidfile.

If $DISPLAY has changed, could anybody please tell me how I should proceed?

To display on the same screen, the DISPLAY value must be constant.

PS: Once I have it all running, I will put everything online and send a link to it to this mailing list.

Great!  On-screen looks like a great new on-screen keyboard tool.

Brian



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