docs: def blockingSave(self, path):
          """
          saved session to file - returns after finish
          only called by interactiveTutorial-save at the moment
          """
          self.tmp_dir_save_session = self.tmp_dir_session.join('block').mkdir()
          state = {'session': dict(self.opts),
                   'dialogs': self.dialogs.saveState()}
          self.saveThread.prepare('0', path, self.tmp_dir_session, state)
          self.sigSave.emit(self)
          self.saveThread.run()