diff options
author | Florian Bruhin <me@the-compiler.org> | 2021-03-23 17:59:45 +0100 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2021-03-23 17:59:45 +0100 |
commit | 682d522c778172f1bf1d379a2db97e23f0dbf8fc (patch) | |
tree | 2b7d9c13b63766743fa45e48647901bdb0a25f04 /qutebrowser/misc/sessions.py | |
parent | 0c0cbdab24772c189f5d036faa37a83ec8256212 (diff) | |
parent | 903e2afcd0f0e3ccb75d8c4ef413d0d747e0b136 (diff) | |
download | qutebrowser-682d522c778172f1bf1d379a2db97e23f0dbf8fc.tar.gz qutebrowser-682d522c778172f1bf1d379a2db97e23f0dbf8fc.zip |
Merge remote-tracking branch 'origin/pr/4545'
Diffstat (limited to 'qutebrowser/misc/sessions.py')
-rw-r--r-- | qutebrowser/misc/sessions.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/qutebrowser/misc/sessions.py b/qutebrowser/misc/sessions.py index 820d5b219..11af329e0 100644 --- a/qutebrowser/misc/sessions.py +++ b/qutebrowser/misc/sessions.py @@ -37,7 +37,7 @@ from qutebrowser.config import config, configfiles from qutebrowser.completion.models import miscmodels from qutebrowser.mainwindow import mainwindow from qutebrowser.qt import sip -from qutebrowser.misc import objects +from qutebrowser.misc import objects, throttle _JsonType = MutableMapping[str, Any] @@ -159,6 +159,8 @@ class SessionManager(QObject): self._base_path = base_path self._last_window_session = None self.did_load = False + # throttle autosaves to one minute apart + self.save_autosave = throttle.Throttle(self._save_autosave, 60 * 1000) def _get_session_path(self, name, check_exists=False): """Get the session path based on a session name or absolute path. @@ -354,7 +356,7 @@ class SessionManager(QObject): configfiles.state['general']['session'] = name return name - def save_autosave(self): + def _save_autosave(self): """Save the autosave session.""" try: self.save('_autosave') @@ -363,6 +365,8 @@ class SessionManager(QObject): def delete_autosave(self): """Delete the autosave session.""" + # cancel any in-flight saves + self.save_autosave.cancel() try: self.delete('_autosave') except SessionNotFoundError: |