                  if timeelapsed > timeout:
                      logger.error("Timeout reached sending Exit Signal")
                      self.terminate_all_children()
          else:
              self.terminate_all_children()
          return True
  
      @staticmethod
      def generate_windows_keypress(character):
          """ Generate an 'Enter' key press to terminate Windows training """
 
</s> remove                     self.terminate_all_children()
 </s> add                     self._terminate_all_children() </s> remove     @staticmethod
    def generate_windows_keypress(character):
        """ Generate an 'Enter' key press to terminate Windows training """
 </s> add     @classmethod
    def _generate_windows_keypress(cls, character: str) -> bytes:
        """ Generate a Windows keypress

        Parameters
        ----------
        character: str
            The caracter to generate the keypress for

        Returns
        -------
        bytes
            The generated Windows keypress
        """ </s> remove             timeout = self.config.user_config_dict.get("timeout", 120)
 </s> add             timeout = self._config.user_config_dict.get("timeout", 120) </s> remove     def terminate_in_thread(self, command, process):
        """ Terminate the subprocess """
 </s> add         Parameters
        ----------
        command: str
            The command that is running

        process: :class:`subprocess.Popen`
            The running process

        Returns
        -------
        bool
            ``True`` when this function exits
        """ </s> remove             self.command = command
            args = self.prepare(category)
            self.task.execute_script(command, args)
        self.tk_vars.action_command.set("")

    def generate_command(self, *args):
        """ Generate the command line arguments and output """
        if not self.tk_vars.generate_command.get():
 </s> add             self._command = command
            fs_args = self._prepare(T.cast(T.Literal["faceswap", "tools"], category))
            self._task.execute_script(command, fs_args)
        self._tk_vars.action_command.set("")

    def _generate_command(self,  # pylint:disable=unused-argument
                          *args: tuple[str, str, str]) -> None:
        """ Callback for when the Generate button is pressed. Process command line options and
        output the cli command

        Parameters
        ----------
        args:
            tuple[str, str, str]
                Tkinter variable callback args. Required but unused
        """
        if not self._tk_vars.generate_command.get():
            self._terminate_all_children()
                  if timeelapsed > timeout:
                      logger.error("Timeout reached sending Exit Signal")
                      self.terminate_all_children()
          else:
            self._terminate_all_children()
          return True
  
      @staticmethod
      def generate_windows_keypress(character):
          """ Generate an 'Enter' key press to terminate Windows training """
keep keep keep keep replace keep keep keep keep keep
 bugfix: GUI force stdout/stderr reading to utf-8 
lib/gui/wrapper.py