                  command=lambda conf=(name, config), root=self.root: popup_config(conf, root))
          self.add_cascade(label="Edit", menu=self.edit_menu, underline=0)
          logger.debug("Built Edit menu")
  
      def scan_for_configs(self):
          """ Scan for config.ini file locations """
          root_path = os.path.abspath(os.path.dirname(sys.argv[0]))
          plugins_path = os.path.join(root_path, "plugins")
          logger.debug("Scanning path: '%s'", plugins_path)
          configs = dict()
 
</s> remove     def build_edit_menu(self):
        """ Add the edit menu to the menu bar """
        logger.debug("Building Edit menu")
        configs = self.scan_for_configs()
        for name in sorted(list(configs.keys())):
            label = "Configure {} Plugins...".format(name.title())
            config = configs[name]
            self.edit_menu.add_command(
                label=label,
                underline=10,
                command=lambda conf=(name, config), root=self.root: popup_config(conf, root))
        self.add_cascade(label="Edit", menu=self.edit_menu, underline=0)
        logger.debug("Built Edit menu")
 </s> add  </s> remove         self.build_edit_menu()
        self.add_cascade(label="Tools", menu=self.tools_menu, underline=0)
 </s> add         self.add_cascade(label="Settings", menu=self.settings_menu, underline=0)
        self.add_cascade(label="Help", menu=self.help_menu, underline=0) </s> remove         logger.debug("Built Tools menu")
 </s> add         logger.debug("Built help menu")

    def build_recources_menu(self):
        """ Build resources menu """
        logger.debug("Building Resources Files menu")
        for resource in _RESOURCES:
            self.recources_menu.add_command(
                label=resource[0],
                command=lambda link=resource[1]: webbrowser.open_new(link))
        logger.debug("Built resources menu") </s> remove         ControlPanel(self, options, label_width=16, radio_columns=3, columns=1)
 </s> add         info = options.get("helptext", None)
        if info is not None:
            del options["helptext"]
        ControlPanel(self, options,
                     label_width=16, option_columns=3, columns=1, header_text=info)
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):
                  command=lambda conf=(name, config), root=self.root: popup_config(conf, root))
          self.add_cascade(label="Edit", menu=self.edit_menu, underline=0)
          logger.debug("Built Edit menu")
  
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):
          """ Scan for config.ini file locations """
          root_path = os.path.abspath(os.path.dirname(sys.argv[0]))
          plugins_path = os.path.join(root_path, "plugins")
          logger.debug("Scanning path: '%s'", plugins_path)
          configs = dict()
keep keep keep keep replace keep 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/menu.py