added :session-load --delete

This commit is contained in:
Argn0 2018-01-19 02:33:42 +01:00
parent cb2cd615e0
commit aeb7bac886

View File

@ -457,7 +457,8 @@ class SessionManager(QObject):
@cmdutils.register(instance='session-manager')
@cmdutils.argument('name', completion=miscmodels.session)
def session_load(self, name, clear=False, temp=False, force=False):
def session_load(self, name, clear=False, temp=False, force=False,
delete=False):
"""Load a session.
Args:
@ -466,6 +467,7 @@ class SessionManager(QObject):
temp: Don't set the current session for :session-save.
force: Force loading internal sessions (starting with an
underline).
delete: Delete the saved session once it has loaded.
"""
if name.startswith('_') and not force:
raise cmdexc.CommandError("{} is an internal session, use --force "
@ -473,6 +475,8 @@ class SessionManager(QObject):
old_windows = list(objreg.window_registry.values())
try:
self.load(name, temp=temp)
if delete:
self.session_delete(name)
except SessionNotFoundError:
raise cmdexc.CommandError("Session {} not found!".format(name))
except SessionError as e: