Session Management Clients

Session Management Clients

Grepping across all the modules in the desktop suite can sometimes reveal interesting information. I have a few posts planned about various things I have found this way. This time I have taken a look at the use of session management clients. The two options currently available are GnomeClient (from libgnome) and EggSMClient (code copied into all the modules using it).

GnomeClient:

  • evolution
  • gnome-media
  • gnome-panel
  • gok
  • vino
  • yelp

EggSMClient:

  • brasero
  • epiphany
  • evince
  • file-roller
  • gedit
  • gnome-games
  • gnome-session
  • gnome-terminal
  • gnome-utils
  • nautilus
  • seahorse
  • totem

An effort was made to get EggSMClient into GTK but unfortunately it looks like it is stranded in http://bugzilla.gnome.org/show_bug.cgi?id=79285. Hopefully we will get at real solution in GTK but until then it seems like the majority is considering EggSMClient as the lesser evil.

Life

I am currently finishing my masters thesis and I have had to cut back on my GNOME hacking because of this. My last exam is scheduled to be on the 19th June and after that I should have some more free time on my hands again. I have a lot of GNOMEy plans and I can’t wait to get the time to hack on them again. More on this when I actually have the time to do it. I will also spend a lot of this free time job hunting which I rather much look forward to. Job interviews are probably going to be nervewrecking but I am still also very excited about it.

Today it is one week ago that I went to Gelschenkirchen with some friends to see AC/DC at Veltins Arena. The concert was awesome and also incredibly loud. They still rock very much and I absolutely loved it. If you have the chance to see them on their tour I recommend going.

7 Responses to “Session Management Clients”

  1. Havoc says:

    A real solution for _what_ is the question, right? That’s what the GTK bug is stuck on. Meanwhile everyone’s just “doing session management” for some kind of random reason with some kind of random result. It’s never worked or been useful, ever, in GNOME’s entire lifetime.

    Registering to autostart is useful. Saving app state across app invocations (NOT per-session/at-session-save) is useful. Logout notification is useful.

    XSMP is not useful, it isn’t even _compatible_ with those other things that are useful.

  2. phomes says:

    Sure. I deliberately omitted my own opinion about the usefulness of session saving[1]. I know that others find it useful and will leave it at that.

    My post was simply meant to draw attention to fact that while we wait for a real solution (whatever that might be) application developers are doing massive code copy/pasting to avoid regressing whatever they did before.

    The discussion about what this “real solution” is best to keep in the bug. Unfortunately it looks like it is going nowhere and we are left with the ton of suck that is the current situation.

    [1] I find session saving on a single computer useless. Adding something like session saving to an online service would open rocking use cases for those of us who use multiple computers/devices.

  3. Don’t forget there’s also a cut down XSMP implementation in Pidgin which I based on libGSMclient, a previous Havoc project which probably disappeared during the SVN -> GIT migration. It was added literally just to have Pidgin saved in the session and restarted.

    Something we’re interested in seeing working session management for is to allow background killing of applications to manage RAM and CPU usage – if apps properly implement session management to save their state without interaction and can be brought back *just like they were before*, you can close stuff which isn’t the foreground app and bring it back if the user switches to it, assuming sufficient collusion between your task switcher and session manager.

  4. Javier says:

    More info about Gnome session management here: http://live.gnome.org/SessionManagement/

  5. Javier says:

    It seems that the choice for session management in Gnome3 is EggSMClient: see http://live.gnome.org/LibgnomeMustDie

  6. [...] That’s not cool but the way to go until Session Management support in gtk+ gets resolved. See Thomas’ blog for a current [...]

  7. Jon Nettleton says:

    I have been working on gnome-shell the last month and I implore you to think about session management in a light different than saving your desktop state between sessions.

    With gnome-shell one of the ideas being bounced around, although not accepted by everyone is being able to organize workspaces as activities. Create a new workspace and add some launchers to the gimp, inkscape, agave etc and save that as a template. Then you launch a new graphics activity which is a workspace that has all your pre-configured applications all setup. You start working on whatever your graphics task is, but then have to work on something else. You close you Graphics activity and move on. Late when you have some free time you then go back and relaunch the activity and through session-management ( state management would be a better name here ) Your windows are all restored and documents opened to what you were working on and you don’t have to waste any time getting back to what you were doing.