One of the features I’d like all browsers, that support tabbed-browsing, should include by default is to let the user save the current window’s tab layout (aka tab session) to a file and also provide the ability to load such a saved tab session. My main browser, Epiphany, does not have this functionality and I couldn’t find any extensions that do something like that. So, since Epiphany supports extensions written in Python, I decided to write one.
Part of the functionality I have described above is actually implemented into Epiphany, but is only used internally. The tab layout is saved in an XML file (
~/.gnome2/epiphany/session_crashed.xml) every time the browser is used. If Epiphany is closed abnormally, then, the next time it is launched, it offers the option to recover the last session. This serves well, but I cannot understand why this feature was not further extended in order to let the users also save/load tab sessions at will.
I wrote an extension that does exactly that. This is a rough first release, but seems to work well. There is no installation script or patch for the official
epiphany-extensions package at the moment.
What it does
This extension adds two menu entries under the “Tools” menu:
- Save Tab Session
- Saves the current window’s tab session in a file of your choice, using the .ephytabs filename extension. The XML file format is exactly the same as the one that Epiphany uses to automatically save the recovery session.
- Load Tab Session
- Loads a tab session from a file. A tab session can also be loaded from the saved file by using Epiphany’s shell option “
Here is a list of what you will need in order to use the extension:
- The epiphany-extensions package.
- If you use Python older than 2.5, it is required that you install either the cElementTree or the elementtree module. Either one will do.
- If you use Python 2.5 or newer, then you will need nothing else, as the aforementioned modules are have been included in the standard library in Python 2.5.
: Here is how to find out which version of Python your system uses. Issue the following command:
python -c "print __import__('sys').version.split()"
The required software should exist into the official package repositories for your distribution. For example:
To install the
epiphany-extensions RPM package in a Fedora/OpenSUSE (with yum configured) system, do a:
# yum install epiphany-extensions
or in order to install the
epiphany-extensions DEB package in an Ubuntu/Debian system:
# apt-get install epiphany-extensions
How to install the plugin
The plugin is written in Python, which means you do not need to compile it.
There are two ways to install the plugin, just for you or for all users (system wide). Choose whichever suits your needs:
-1- In order to install it for use in your own user account, drop the tab-session-management.ephy-extension and tab-session-management.py files in the
~/.gnome2/epiphany/extensions/ directory. If that directory does not exist, just create it.
-2- In order to install the plugin system-wide, it is needed to put the tab-session-management.ephy-extension and tab-session-management.py files in the
/usr/lib/epiphany/2.XX/extensions/ directory (where
XX the epiphany version).
Finally, restart Epiphany.
How to use
First, you have to enable the plugin in the Tools->Extensions panel. Look for “Tab Session Management”.
Then, open some web pages in tabs, choose Tools->Save Tab Session and set a filename for the session. The Epiphany tab session files will have the
.ephytabs extension in their filenames.
In order to load a saved session, go Tools->Load Tab Session and choose the appropriate session file in the dialog.
This project is released under the terms of the GNU General Public License.
All versions of the software, including the latest stable release, are available from the development web site’s download area.
This project has been discontinued.
This is optional.
Here is a Nautilus Action, so that you can open saved tab sessions into Epiphany from within Nautilus.
Download the action package from the download area and extract it.
Then, run the nautilus-actions-config utility or go to
System->Preferences->More Preferences->Nautilus Actions Configuration
Import new configurations
- Browse to the extracted action file (load_ephy_session_nautilus_action.schemas) in the
File to Importfield
- Type of configuration:
From now on, whenever you right-click on .ephytabs files, you can load a session by choosing “Load Epiphany Tab Session“.
The Tab Session Management extension for Epiphany by George Notaras, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.