          self.command_notebook = None  # set in command.py
          self.session = session
          logger.debug("Initialized %s", self.__class__.__name__)
  
      @property
      def command_tabs(self):
          """ Return dict of command tab titles with their IDs """
          return {self.command_notebook.tab(tab_id, "text").lower(): tab_id
 
</s> remove         self.build_panel(radio_columns, blank_nones)
 </s> add         self.build_panel(blank_nones)
 </s> remove     def scan_for_configs(self):
 </s> add class SettingsMenu(tk.Menu):  # pylint:disable=too-many-ancestors
    """ Settings menu items and functions """
    def __init__(self, parent):
        logger.debug("Initializing %s", self.__class__.__name__)
        super().__init__(parent, tearoff=0)
        self.root = parent.root
        self.configs = self.scan_for_plugin_configs()
        self.build()
        logger.debug("Initialized %s", self.__class__.__name__)

    def scan_for_plugin_configs(self):
    @property
    def user_config_dict(self):
        """ Return the dictionary from user_config """
        return self.user_config.config_dict

    @property
    def default_font(self):
        """ Return the selected font """
        font = self.user_config_dict["font"]
        if font == "default":
            font = tk.font.nametofont("TkDefaultFont").configure()["family"]
        return (font, self.user_config_dict["font_size"])

          self.command_notebook = None  # set in command.py
          self.session = session
          logger.debug("Initialized %s", self.__class__.__name__)
  
    @property
    def user_config_dict(self):
        """ Return the dictionary from user_config """
        return self.user_config.config_dict

    @property
    def default_font(self):
        """ Return the selected font """
        font = self.user_config_dict["font"]
        if font == "default":
            font = tk.font.nametofont("TkDefaultFont").configure()["family"]
        return (font, self.user_config_dict["font_size"])

      @property
      def command_tabs(self):
          """ Return dict of command tab titles with their IDs """
          return {self.command_notebook.tab(tab_id, "text").lower(): tab_id
keep keep keep add keep keep keep keep
 Gui Updates (#847)

* GUI Improvements

 - Add basic GUI Config options (available in settings menu)
 - Dynamically add/remove columns on settings panel resize
 - Wrap text properly on info headers
 - Fix helptext formatting for configs
 - Standardize Tooltip widths
 - [code] Apply some widget naming
 - [code] Rename radio_columns to option_columns
 - [code] fix column count checking
 - Add Starting Tab config item
 - Add info boxes to main pages
 - Global font settings
 - Add resources to help menu 
lib/gui/utils.py