          self.console.configure(state="normal")
          self.console.insert(tk.END, string, self.get_tag(string))
          self.console.see(tk.END)
  
      @staticmethod
      def flush():
          """ If flush is forced, send it to normal terminal """
          sys.__stdout__.flush()
 
</s> remove     _COMMANDS[name] = func
 </s> add     _RECREATE_OBJECTS["commands"][name] = func </s> remove         logger.debug("Built control: '%s'", self.title)
 </s> add         logger.debug("Built control: '%s'", self.option.name) </s> remove     @staticmethod
    def set_control_width(ctl, control_width):
        """ Set the control width if required """
        if control_width is not None:
            ctl.config(width=control_width)

    def radio_control(self, choices, columns):
 </s> add     def radio_control(self):
        self.console.configure(state="disabled")
          self.console.configure(state="normal")
          self.console.insert(tk.END, string, self.get_tag(string))
          self.console.see(tk.END)
        self.console.configure(state="disabled")
  
      @staticmethod
      def flush():
          """ If flush is forced, send it to normal terminal """
          sys.__stdout__.flush()
keep keep add keep keep keep keep keep
 GUI Fixups

- GUI Bugfix: Startup options - fix min/max thresholds
- GUI Bugfix: Make console read-only
- GUI Bugfix: Rightclick menu for recreated widgets
- Enhancement: Create ControlPanelOptions Class + migrate options 
lib/gui/utils.py