Re: Fast User Switch Applet development
- From: Calvin Gaisford <cgaisford novell com>
- To: Desktop List <desktop-devel-list gnome org>
- Subject: Re: Fast User Switch Applet development
- Date: Tue, 13 Feb 2007 13:04:37 -0700
On Tue, 2007-02-13 at 10:53 -0500, William Jon McCann wrote:
> Hi Calvin,
> On 2/13/07, Calvin Gaisford <cgaisford novell com> wrote:
> > On Mon, 2007-02-12 at 14:15 -0500, Thomas Thurman wrote:
> > > On 12/02/07, Calvin Gaisford <cgaisford novell com> wrote:
> > > > Has there been any discussion on making the Fusa functionality available
> > > > in other components? I've been playing around with the code and have
> > > > created a library and dialog that borrows heavily from the fusa code
> > > > base. I'd hate to duplicate this code all over the place and would like
> > > > to propose an addition that would allow other desktop components to
> > > > display a switch user UI.
> > > >
> > > > There are a bunch of ways this could be done (small application,
> > > > library, dbus interfaces into fusa, maybe all three?) but I'd like to
> > > > start a discussion about it.
> > >
> > > What would a dbus interface to fusa do that an interface to gdm
> > > wouldn't? After all, fusa is nothing but a bunch of code to do applet
> > > stuff and a bunch of code to talk to gdm. Very recently, gdm itself
> > > has added a dbus interface, and I'm working on making fusa use that.
> > > So what you want is probably to talk to gdm directly.
> > The dbus interface was just an idea to get the applet to popup a
> > switching UI... perhaps not that useful if a library is created. Beyond
> > the applet and gdm code, fusa has some nice code to retrieve switchable
> > users with their icons, names, and active logins. It would be nice to
> > share that code through a library so other components don't have to copy
> > or reproduce it.
> One problem is that the way FUSA works at the moment is not very
> efficient. It does things like periodically polling gdm for updates,
> watching /etc/passwd, /etc/shells, and the gdm.conf files for changes,
> storing information on all users and user images, etc. Basically
> every copy is a little polling database daemon. So, it doesn't really
> lend itself to making into a library in its current form.
> This is not the fault of FUSA, by the way. We just don't have the
> necessary framework to do this right. I think that is really where we
> need to direct our energy.
> I think we need:
> 1. A framework for defining and tracking login sessions
> - what sessions are available
> - which session is active
> - can we switch to that session (ie. is it on the same seat)
> - session add/remove events
> 2. A framework for user directory services
> - what users are available
> - get/set metadata for user (user images, default timezone,
> anything in about-me, etc)
> - user add/remove events
> David and I have been trying to solve at least the first problem with
> ConsoleKit. The second problem I've only started to think about. For
> the purposes of FUSA I think the things we still need better answers
> to are:
> * How can we sanely detect new users and removed users when not
> using /etc/passwd?
> * What is a reasonable way (ie. not the way we do it now) to manage
> and retrieve face images?
> And before anyone asks if we should support FUS for arbitrary name
> service providers.. yes we should. :)
> So, what do you want to add a user-switching interface to?
I've seen user switching showing up in different places and I thought I
might try to clean things up a little (as far as sharing a library of
code rather than copies of the code). I thought I would start with
gnome-screensaver, gnome-panel (the new logout dialog), and the
I like the framework idea!
] [Thread Prev