  
      def build_tools_menu(self):
          """ Add the file menu to the menu bar """
          logger.debug("Building Tools menu")
          self.tools_menu.add_command(
              label="Check for updates...", underline=0, command=self.check_updates)
          self.tools_menu.add_command(
              label="Output System Information", underline=0, command=self.output_sysinfo)
          self.add_cascade(label="Tools", menu=self.tools_menu, underline=0)
          logger.debug("Built Tools menu")
  
      @staticmethod
      def output_sysinfo():
          """ Output system information to console """
 
</s> remove     def build_tools_menu(self):
        """ Add the file menu to the menu bar """
 </s> add     def build(self):
        """ Build the tools menu """ </s> remove     def output_sysinfo():
        """ Output system information to console """
 </s> add     def clear_console():
        """ Clear the console window """ </s> remove         self.build_tools_menu()
 </s> add         self.add_cascade(label="Tools", menu=self.tools_menu, underline=0) </s> remove         self.file_menu.add_command(
            label="Load full config...", underline=0, command=self.config.load)
        self.file_menu.add_command(
            label="Save full config...", underline=0, command=self.config.save)
        self.file_menu.add_separator()
        self.file_menu.add_cascade(label="Open recent", underline=6, menu=self.recent_menu)
        self.file_menu.add_separator()
        self.file_menu.add_command(
            label="Reset all to default", underline=0, command=self.config.cli_opts.reset)
        self.file_menu.add_command(
            label="Clear all", underline=0, command=self.config.cli_opts.clear)
        self.file_menu.add_separator()
        self.file_menu.add_command(label="Quit", underline=0, command=self.root.close_app)
        self.add_cascade(label="File", menu=self.file_menu, underline=0)
 </s> add         self.add_command(label="Load full config...", underline=0, command=self.config.load)
        self.add_command(label="Save full config...", underline=0, command=self.config.save)
        self.add_separator()
        self.add_cascade(label="Open recent", underline=6, menu=self.recent_menu)
        self.add_separator()
        self.add_command(label="Reset all to default",
                         underline=0,
                         command=self.config.cli_opts.reset)
        self.add_command(label="Clear all", underline=0, command=self.config.cli_opts.clear)
        self.add_separator()
        self.add_command(label="Quit", underline=0, command=self.root.close_app) </s> remove     @staticmethod
    def load_config(plugin_type):
        """ Load the config to generate config file if it doesn't exist and get filename """
        # Load config to generate default if doesn't exist
        mod = ".".join(("plugins", plugin_type, "_config"))
        module = import_module(mod)
        config = module.Config(None)
        logger.debug("Found '%s' config at '%s'", plugin_type, config.configfile)
        return config
 </s> add class ToolsMenu(tk.Menu):  # pylint:disable=too-many-ancestors
    """ Tools 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.build()
        logger.debug("Initialized %s", self.__class__.__name__)
        self.add_command(label="Check for updates...",
                         underline=0,
                         command=lambda action="update": self.in_thread(action))
        self.add_command(label="Output System Information",
                         underline=0,
                         command=lambda action="output_sysinfo": self.in_thread(action))
  
      def build_tools_menu(self):
          """ Add the file menu to the menu bar """
          logger.debug("Building Tools menu")
        self.add_command(label="Check for updates...",
                         underline=0,
                         command=lambda action="update": self.in_thread(action))
        self.add_command(label="Output System Information",
                         underline=0,
                         command=lambda action="output_sysinfo": self.in_thread(action))
        self.add_command(label="Check for updates...",
                         underline=0,
                         command=lambda action="update": self.in_thread(action))
        self.add_command(label="Output System Information",
                         underline=0,
                         command=lambda action="output_sysinfo": self.in_thread(action))
        self.add_command(label="Check for updates...",
                         underline=0,
                         command=lambda action="update": self.in_thread(action))
        self.add_command(label="Output System Information",
                         underline=0,
                         command=lambda action="output_sysinfo": self.in_thread(action))
        self.add_command(label="Check for updates...",
                         underline=0,
                         command=lambda action="update": self.in_thread(action))
        self.add_command(label="Output System Information",
                         underline=0,
                         command=lambda action="output_sysinfo": self.in_thread(action))
        self.add_command(label="Check for updates...",
                         underline=0,
                         command=lambda action="update": self.in_thread(action))
        self.add_command(label="Output System Information",
                         underline=0,
                         command=lambda action="output_sysinfo": self.in_thread(action))
          logger.debug("Built Tools menu")
  
      @staticmethod
      def output_sysinfo():
          """ Output system information to console """
keep keep keep keep replace replace replace replace replace keep keep keep keep keep
 More responsive FaceSwap update code 
lib/gui/menu.py