- restore geometries of existing windows - restores the window geometry and position (including workspace) for all running windows;
- restore matching windows - restores the window geometry and position (including workspace) for both apps that are still running as well as those that were restarted;
- restore running applications: restores all application windows that were running (even if they are now closed) when the session was saved, along with their position (including workspace) and window geometry;
Arnon's original session save and restore script doesn't work properly in Unity, but I was able to get it to work with some very simple fixes.
- it doesn't work for every single application. For instance, it can't restore an open Nemo window because Nemo lacks the "--new-window" command line option (which does exist in Nautilus);
- when using "restore 2" (so the apps that aren't running are restored along with their window position and size): there's a delay between launching the app and resizing / positioning its window - that's because the script waits a few seconds to make sure the app actually starts before trying to manipulate its window.
Unity session save and restore script installation and usage
1. The script requires perl, xprop (available in the x11-utils package), wmctrl and xdotool. To install these in Ubuntu, use the command below:
sudo apt-get install perl x11-utils wmctrl xdotool
2. To download my modified script, install it in /usr/local/bin and make it executable, use the following commands:wget http://raw.githubusercontent.com/hotice/webupd8/master/session -O /tmp/session
sudo install /tmp/session /usr/local/bin/
sudo chmod +x /usr/local/bin/session
You can check out the script code HERE. Or, if you want to download Arnon's script (without my Unity fixes), see his post HERE.That's it!
To save the current session, simply use the following command:
session save
Then, when you want to restore the session, use:session restore X
where X is:- 2 - Restore geometries of missing windows (opens any previously running app windows and restores both windows positions and geometries);
- 1 - Restore geometries of matching windows (restores window geometry and position for all running apps, even if they were restarted since the session was saved);
- 0 - Restore geometries of existing windows (restores window geometry and position for apps that weren't closed since the session was saved).
For instance "session restore 2" to restore geometries of missing windows, etc.
(direct video link)
Original script via thewebsitepeople.org
Also see: