          for section in self.config.config.sections():
              self.config.section = section
              category = section.split(".")[0]
              options = self.config.defaults[section]
              conf.setdefault(category, dict())[section] = options
              for key in options.keys():
                  if key == "helptext":
                      self.plugin_info[section] = options[key]
                      continue
                  options[key]["value"] = self.config.config_dict.get(key, options[key]["default"])
          logger.debug("Formatted Config for GUI: %s", conf)
 
</s> remove                     self.plugin_info[section] = options[key]
 </s> add                     self.plugin_info[section] = val </s> remove                 options[key]["value"] = self.config.config_dict.get(key, options[key]["default"])
 </s> add                 conf[category][section][key] = ControlPanelOption(
                    title=key,
                    dtype=val["type"],
                    group=val["group"],
                    default=val["default"],
                    initial_value=self.config.config_dict.get(key, val["default"]),
                    choices=val["choices"],
                    is_radio=val["gui_radio"],
                    rounding=val["rounding"],
                    min_max=val["min_max"],
                    helptext=val["helptext"]) </s> remove         """ Format config into useful format for GUI and pull default value if a value has not
            been supplied """
 </s> add         """ Format config into a dict of ControlPanelOptions """ </s> remove             lookup = [section.split(".")[0], section] if "." in section else [section, section]
 </s> add             lookup = [section.split(".")[0], section.split(".")[-1]] </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)
            section = section.split(".")[-1]
            conf.setdefault(category, dict())[section] = OrderedDict()
            for key, val in options.items():
          for section in self.config.config.sections():
              self.config.section = section
              category = section.split(".")[0]
              options = self.config.defaults[section]
            section = section.split(".")[-1]
            conf.setdefault(category, dict())[section] = OrderedDict()
            for key, val in options.items():
            section = section.split(".")[-1]
            conf.setdefault(category, dict())[section] = OrderedDict()
            for key, val in options.items():
                  if key == "helptext":
                      self.plugin_info[section] = options[key]
                      continue
                  options[key]["value"] = self.config.config_dict.get(key, options[key]["default"])
          logger.debug("Formatted Config for GUI: %s", conf)
keep keep keep keep replace 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/popup_configure.py