A command line to save and restore sessions for X11 desktops like Gnome, with many other features
Project description
xsession-manager
Python-based command line tool to save and restore sessions for X11 desktops like Gnome, and other features to maintain sessions. The project is currently in an early stage of development.
This project was written in Bash
originally. But now I'm completely rewriting it in Python
which obviously makes it way more flexible, extensible.
This project relies on wmctrl, which is why you have to install it beforehand.
Install
Install dependencies
Fedora 33
dnf install python3-devel python3-tkinter wmctrl
Usage:
usage: xsm [-h] [-s [SAVE]] [-c [CLOSE_ALL ...]] [-im] [-r [RESTORE]] [-ri RESTORING_INTERVAL] [-pr [PR]] [-l] [-t DETAIL]
[-x EXCLUDE [EXCLUDE ...]] [-i INCLUDE [INCLUDE ...]] [-ma [MOVE_AUTOMATICALLY]]
optional arguments:
-h, --help show this help message and exit
-s [SAVE], --save [SAVE]
Save the current session. Save to the default session if not specified a session name.
-c [CLOSE_ALL ...], --close-all [CLOSE_ALL ...]
Close the windows gracefully. Close all windows if only -c/--close-all is present. You can specify
arguments to tell me which windows should be closed, that is <window_id>, <pid>, <app_name> or
<title_name> exactly the same as -x.
-im, --including-apps-with-multiple-windows
Close the windows gracefully including apps with multiple windows
-r [RESTORE], --restore [RESTORE]
Restore a session gracefully. Restore the default session if not specified a session name.
-ri RESTORING_INTERVAL, --restoring-interval RESTORING_INTERVAL
Specify the interval between restoring applications, in seconds. The default is 2 seconds.
-pr [PR] Pop up a dialog to ask user whether to restore a X session.
-l, --list List the sessions.
-t DETAIL, --detail DETAIL
Check out the details of a session.
-x EXCLUDE [EXCLUDE ...], --exclude EXCLUDE [EXCLUDE ...]
Exclude apps from the operation according to <window_id>, <pid>, <app_name> or <title_name>. Require
at least one value
-i INCLUDE [INCLUDE ...], --include INCLUDE [INCLUDE ...]
Include apps from the operation according to <window_id>, <pid>, <app_name> or <title_name>. Require
at least one value
-ma [MOVE_AUTOMATICALLY], --move-automatically [MOVE_AUTOMATICALLY]
Auto move windows to specified workspaces according to a saved session. The default session is
`xsession-default`
If you want to restore the previous X session automatically after login
Here is a solution. If you are using Fedora, create a file named auto-restore-working-state.desktop
and the Exec
should be:
xsession-manager -pr
Then put this file into ~/.config/autostart
.
Todo:
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for xsession_manager-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8496e5fe0e74fef2f662784107557d4eb48b628ed684c7cb7428433694fdf0b |
|
MD5 | 1e40810a18f3c8b57f5243cfbb8189e3 |
|
BLAKE2b-256 | 367eb602dbc3960761c1651b529e60ae100feea81664f5beabe1f703a98b5905 |