We started with a mock up and an idea of how we wanted to redesign the fast-user switching applet. The goal was to integrate in session management and IM status into the applet and put it into a prime location in the default desktop. Now we have code an screenshots to show the work. It's not perfect yet, but we're very happy with where it is. You can grab test versions either for Hardy or Intrepid in my PPA.
We used the old FUSA applet to base our code on as we're using GDM 2.20 in Ubuntu. In this case there isn't much of a reason to merge upstream but to make things easier if upstream wanted our patch, or for other people to use the code, I've split out the various functionality into a set of Bazaar branches. Each one represents a patch that we're including. The patches are:
- ltsp_client is an older patch that we've had in Ubuntu for a while, but now updated. It disables switching to the login screen on LTSP clients.
- guest_account is a patch that connects to the GDM patches that are currently in Intrepid to add a guest account. This is an unprivileged account that you can switch to when you hand your laptop to a friend.
- session_management adds all of the session management commands to user switching menu.
- fusa_menu_changes includes the changes to the basic user switching menu items. This includes removing the check boxes and the icons and also includes the 'conflict mode' where if two names that are the same adds the username.
- status_icons is a theft of the Empathy icons. But since we're not making Empathy the default IM client, I had to steal them. They're uuencoded so that this can be a patch.
- show_status is the code that connects to and shows the status information from an IM client whether it is Empathy and Pidgin. It also allows for setting status in those clients.
Keeping track all of these is a little bit of a trick. But, if you want to generate the patches from Bazaar branches you can use this little shell script that I wrote.
posted Sep 18, 2008 | permanent link