diff --git a/qutebrowser/browser/browsertab.py b/qutebrowser/browser/browsertab.py index 29b82d969..cc27c335f 100644 --- a/qutebrowser/browser/browsertab.py +++ b/qutebrowser/browser/browsertab.py @@ -685,6 +685,9 @@ class AbstractTab(QWidget): @pyqtSlot(bool) def _on_load_finished(self, ok): + if config.get('general', 'auto-save-session'): + sess_manager = objreg.get('session-manager') + sess_manager.session_save() if ok and not self._has_ssl_errors: if self.url().scheme() == 'https': self._set_load_status(usertypes.LoadStatus.success_https) diff --git a/qutebrowser/config/configdata.py b/qutebrowser/config/configdata.py index ea3939a44..3d13bf563 100644 --- a/qutebrowser/config/configdata.py +++ b/qutebrowser/config/configdata.py @@ -160,6 +160,11 @@ def data(readonly=False): SettingValue(typ.Bool(), 'true'), "Whether to save the config automatically on quit."), + ('auto-save-session', + SettingValue(typ.Bool(), 'false'), + "Whether to save the session automatically when a page finishes " + "loading."), + ('auto-save-interval', SettingValue(typ.Int(minval=0, maxval=MAXVALS['int']), '15000'), "How often (in milliseconds) to auto-save config/cookies/etc."),