Screensaver Solution Discussion



I summarized the steps about how screensaver works. Because a user can disable VT, 
also because VT has not been supported on some platforms yet, for example SUN Sparc,
we will handle both situations separately.

1. After the user logs in, the user's gnome-screensaver (user session) process will
start.

2. When gnome-session tells that the session is idle,
gnome-screensaver
will start a full-screen window and grab the keyboard and the pointer,
that is to say, the user's session is locked.

gnome-screensaver tells GDM that the user's session is locked. GDM will 
start initializing PAM and creates the unlock dialog if VT is
enabled.

3. If the user moves the mouse or hit the keyboard

3a. If VT is enabled, gnome-screensaver will ask GDM to show the
unlock
dialog on another DISPLAY, and ask VT manager to switch to that DISPLAY. 
Then the user inputs the correct password, GDM tells gnome-screensaver to
destroy the window and release the keyboard and the mouse. Do the VT switching
to the user's DISPLAY.

3b. If VT is not enabled, gnome-screensaver will show the unlock
dialog, interacting with GDM on PAM authentication. If the user input the
correct password, gnome-screensaver will destroy the lock window and release the keyboard and the mouse.

For 3a, since a new GDM session is created, and GDM has already supported the accessibility, we don't need more work to do.

But for 3b, we need consider to support the accessibility for the
unlock dialog. Here I CCed a11y list in order to hear their opinions.

Can I start a new at-spi-registryd for the unlock dialog? This daemon runs on a new DBUS session daemon listening on a new DBUS address.
The unlock process and ATs will communicate with this session daemon, which will not affect the old daemon.

Jeff






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