Some months ago a friend asked me: Wouldn't it be nice to run TinyCore from a USB stick on a Notebook, and then, saving the whole session so that he can plug it off, go to his other computer, boot TC on it, and go on working with his session on this other hardware. On the same hardware a "ram to disk" approach would do it (but slow). But on different hardware? Then I had an idea.
Most good linux software includes the path and filename of opened files in the window title.
So all I needed to do was:
Saving session:
Save the desktop number, geometry of all windows and the name of the processes they are related to and the related "loaded files" extracted from the window title into a save file.
Load session:
Load these informations, open the specific processes with the correct file parameters. Then rearrange and rescale the windows like specified in our save file and put them on the correct desktop.
Pro:
No ram dumb needed.
Works on all hardware.
Damn fast.
Contra:
Needs tricky configuration and application-specific scripting.
It works already, you may use it for own purposes or give me some feedback/ideas to improve it
You will need: python2.x, wmctrl
(only tested with Fluxbox)