Fork of eternicode's yakuake-sessions.
Requires: yakuake, qdbus (libqt4-dbus), pwdx (procps), ps (procps)
Tested on: - Ubuntu Maverick (10.10) with Python 2.6 and Yakuake 2.9.7 - openSUSE Leap 15.1 with Python 3.6-3.8 and Yakuake 3.0.5
Does not support old versions of yakuake that use DCOP instead of DBUS.
ysess is a script that gathers as much info as possible from a running yakuake instance and saves it out in INI format. It can then take this same INI file as input and (destructively! *) reconstruct the yakuake session.
* As part of the reconstruction process, ysess destroys all current tabs in yakuake before restoring from the INI file.
Currently, ysess will save the following information:
- tab order
- tab title
- active tab
- per-tab working directory
- per-tab active command
Per-tab active command is supported to allow resuming long-running commands, like top
.
$ ysess --help Usage: ysess [options]
Save and load yakuake sessions. Settings are exported in INI format. Default action is to print the current setup to stdout in INI format.
- Options:
-h, --help show this help message and exit -i FILE, --in-file=FILE File to read from, or "-" for stdin -o FILE, --out-file=FILE File to write to, or "-" for stdout --force-overwrite Do not prompt for confirmation if out-file exists
To use in your crontab -- and I have no clue why this works -- prepend the command with DISPLAY=:0.0
:
* * * * * DISPLAY=:0.0 ysess -o ~/yakuake.ini --force-overwrite
I hope to add some features:
- Save per-tab shell environment (so, for example, virtualenvs can be restored)
- Allow a whitelist or blacklist for which active commands to save
- Maybe, eventually, DCOP support for users stick with older yakuake versions