              val = widget.cget(key)
              if key in ("anchor", "justify") and val == "":
                  continue
              # Return correct command from master command dict
              val = _COMMANDS[val] if key == "command" and val != "" else val
              new_config[key] = val
          return new_config
  
      @staticmethod
      def pack_config_cleaner(widget):
 
</s> remove         logger.debug("Setting tk variable: (title: '%s', dtype: %s, selected_value: %s, "
                     "blank_nones: %s)",
                     self.title, dtype, selected_value, blank_nones)
        if dtype == bool:
            var = tk.BooleanVar
        elif dtype == int:
            var = tk.IntVar
        elif dtype == float:
            var = tk.DoubleVar
        else:
            var = tk.StringVar
        var = var(self.frame)
        val = self.default if selected_value is None else selected_value
        val = "" if val is None and blank_nones else val
        var.set(val)
        logger.debug("Set tk variable: (title: '%s', type: %s, value: '%s')",
                     self.title, type(var), val)
        return var
 </s> add         val = "" if self.option.value is None and blank_nones else self.option.value
        self.option.tk_var.set(val)
        logger.debug("Set tk variable: (option: '%s', variable: %s, value: '%s')",
                     self.option.name, self.option.tk_var, val) </s> remove                     self.plugin_info[section] = options[key]
 </s> add                     self.plugin_info[section] = val </s> remove                 cmd_dict[key] = val["selected"].get()
 </s> add                 if not isinstance(val, dict):
                    continue
                cmd_dict[key] = val["cpanel_option"].get() </s> remove         for key, val in self.options.items():
            if key == "helptext":
                continue
            group = "_master" if val["group"] is None else val["group"]
            group_frame = self.get_group_frame(group)
 </s> add         for option in self.options:
            group_frame = self.get_group_frame(option.group)
            val = _RECREATE_OBJECTS["commands"][val] if key == "command" and val != "" else val
              val = widget.cget(key)
              if key in ("anchor", "justify") and val == "":
                  continue
              # Return correct command from master command dict
            val = _RECREATE_OBJECTS["commands"][val] if key == "command" and val != "" else val
              new_config[key] = val
          return new_config
  
      @staticmethod
      def pack_config_cleaner(widget):
keep keep keep keep replace 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/control_helper.py