code: def save(self, path=None):
          
          if path==None: 
              
              if self._autosettings_path == None: return self
              
              # Get the gui settings directory
              gui_settings_dir = _os.path.join(_cwd, 'egg_settings')
  
              # make sure the directory exists
              if not _os.path.exists(gui_settings_dir): _os.mkdir(gui_settings_dir)            
              
              # Assemble the path
              path = _os.path.join(gui_settings_dir, self._autosettings_path)
        
          # make the databox object
          d = _d.databox()
  
          # get the keys and dictionary
          keys, dictionary = self.get_dictionary()
  
          # loop over the keys and add them to the databox header
          for k in keys: 
              d.insert_header(k, dictionary[k])
              
          # save it
          try:
              d.save_file(path, force_overwrite=True, header_only=True)
          except:
              print('Warning: could not save '+path.__repr__()+' once. Could be that this is being called too rapidly.')
          
          return self
docs: Saves all the parameters to a text file using the databox
          functionality. If path=None, saves to self._autosettings_path. If
          self._autosettings_path=None, does not save.