summaryrefslogtreecommitdiff
path: root/qutebrowser/misc/sessions.py
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2020-07-16 16:23:02 +0200
committerFlorian Bruhin <me@the-compiler.org>2020-07-16 16:23:31 +0200
commitb20a6487f886ebd9141834ddcde5351c99b9b35a (patch)
treef9e3b989bf498db1e35cbf40859f8b5a9ba4cc8b /qutebrowser/misc/sessions.py
parent13fc4604ba3eef6f42b45bf0e9b52d60419813bb (diff)
downloadqutebrowser-b20a6487f886ebd9141834ddcde5351c99b9b35a.tar.gz
qutebrowser-b20a6487f886ebd9141834ddcde5351c99b9b35a.zip
Move session shutdown to sessions.py
Diffstat (limited to 'qutebrowser/misc/sessions.py')
-rw-r--r--qutebrowser/misc/sessions.py16
1 files changed, 13 insertions, 3 deletions
diff --git a/qutebrowser/misc/sessions.py b/qutebrowser/misc/sessions.py
index 52a66b1a0..37fd0a4ba 100644
--- a/qutebrowser/misc/sessions.py
+++ b/qutebrowser/misc/sessions.py
@@ -27,7 +27,7 @@ import typing
import glob
import shutil
-from PyQt5.QtCore import QUrl, QObject, QPoint, QTimer, pyqtSlot
+from PyQt5.QtCore import QUrl, QObject, QPoint, QTimer
from PyQt5.QtWidgets import QApplication
import yaml
@@ -80,8 +80,18 @@ def init(parent=None):
session_manager = SessionManager(base_path, parent)
-@pyqtSlot()
-def shutdown():
+def shutdown(session: typing.Optional[ArgType], last_window: bool) -> None:
+ """Handle a shutdown by saving sessions and removing the autosave file."""
+ if session_manager is None:
+ return
+
+ if session is not None:
+ session_manager.save(session, last_window=last_window,
+ load_next_time=True)
+ elif config.val.auto_save.session:
+ session_manager.save(default, last_window=last_window,
+ load_next_time=True)
+
session_manager.delete_autosave()