              logger.debug("Loaded recent files: %s", recent_files)
          for recent_item in recent_files:
              filename, command = recent_item
              logger.debug("processing: ('%s', %s)", filename, command)
              if not os.path.isfile(filename):
                  logger.debug("File does not exist")
                  continue
              lbl_command = command if command else "All"
              self.recent_menu.add_command(
                  label="{} ({})".format(filename, lbl_command.title()),
                  command=lambda fnm=filename, cmd=command: self.config.load(cmd, fnm))
          self.recent_menu.add_separator()
 
</s> remove             print("Git is not installed or you are not running a cloned repo. "
                  "Unable to check for updates")
            return
        chk = stdout.decode(encoding).splitlines()

        update = False
        for line in chk:
            if line.lower().startswith("your branch is ahead"):
                print("Your branch is ahead of the remote repo. Not updating")
                break
            if line.lower().startswith("your branch is up to date"):
                print("Faceswap is up to date.")
                break
            if line.lower().startswith("your branch is behind"):
                update = True
                break
            if "have diverged" in line.lower():
                print("Your branch has diverged from the remote repo. Not updating")
                break
        logger.debug("update: %s", update)
 </s> add             msg = ("Git is not installed or you are not running a cloned repo. "
                   "Unable to check for updates")
        else:
            chk = stdout.decode(encoding).splitlines()
            for line in chk:
                if line.lower().startswith("your branch is ahead"):
                    msg = "Your branch is ahead of the remote repo. Not updating"
                    break
                if line.lower().startswith("your branch is up to date"):
                    msg = "Faceswap is up to date."
                    break
                if line.lower().startswith("your branch is behind"):
                    update = True
                    break
                if "have diverged" in line.lower():
                    msg = "Your branch has diverged from the remote repo. Not updating"
                    break
        self.clear_console() </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")

    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()
        for dirpath, _, filenames in os.walk(plugins_path):
            if "_config.py" in filenames:
                plugin_type = os.path.split(dirpath)[-1]
                config = self.load_config(plugin_type)
                configs[plugin_type] = config
        logger.debug("Configs loaded: %s", sorted(list(configs.keys())))
        return configs
 </s> add  </s> remove         logger.debug("Check output: %s", stdout.decode(encoding))
        logger.debug("Check returncode: %s", retcode)
 </s> add         logger.debug("'%s' output: %s", gitcmd, stdout.decode(encoding))
        logger.debug("'%s' returncode: %s", gitcmd, retcode) </s> remove         # Do the update
        print("A new version is available. Updating...")
        cmd = Popen("git pull", shell=True, stdout=PIPE, stderr=STDOUT, bufsize=1)
 </s> add     @staticmethod
    def do_update(encoding):
        """ Update Faceswap """
        logger.info("A new version is available. Updating...")
        gitcmd = "git pull"
        cmd = Popen(gitcmd, shell=True, stdout=PIPE, stderr=STDOUT, bufsize=1)
              logger.debug("Loaded recent files: %s", recent_files)
          for recent_item in recent_files:
              filename, command = recent_item
              logger.debug("processing: ('%s', %s)", filename, command)



              lbl_command = command if command else "All"
              self.recent_menu.add_command(
                  label="{} ({})".format(filename, lbl_command.title()),
                  command=lambda fnm=filename, cmd=command: self.config.load(cmd, fnm))
          self.recent_menu.add_separator()
keep keep keep keep replace replace replace keep keep keep keep keep
 More responsive FaceSwap update code 
lib/gui/menu.py