          if self.option.sysbrowser is not None:
              self.filebrowser = FileBrowser(self.option.name,
                                             self.option.tk_var,
                                             self.frame,
                                             self.option.sysbrowser)
  
          ctl = self.option.control(self.frame,
                                    textvariable=self.option.tk_var,
                                    font=get_config().default_font)
          rc_menu = _get_contextmenu(ctl)
 
</s> remove         ctl = self.option.control(self.frame,
                                  textvariable=self.option.tk_var,
                                  font=get_config().default_font)
 </s> add  </s> remove             sub_frame = ttk.Frame(parent, style=f"{self._style}TFrame")
 </s> add             sub_frame = ttk.Frame(parent, style="Group.TFrame") </s> remove         style = f"Holder.{self._style}"
 </s> add         style = f"{self._style}Holder." </s> remove         self._style = style
 </s> add         # Default to Control Panel Style
        self._style = style = style if style else "CPanel." </s> remove                         style=f"{self._style}TLabel")
 </s> add                         style="Group.TLabel")
                                           self.option.sysbrowser,
                                           self._style)

        theme = get_config().user_theme["group_box"]
        if self.option.control == tk.Entry:
            ctl = self.option.control(self.frame,
                                      textvariable=self.option.tk_var,
                                      font=get_config().default_font,
                                      bg=theme["input_color"],
                                      fg=theme["input_font"],
                                      highlightbackground=theme["input_font"],
                                      highlightthickness=1,
                                      bd=0)
        else:  # Combobox
            ctl = self.option.control(self.frame,
                                      textvariable=self.option.tk_var,
                                      font=get_config().default_font,
                                      state="readonly",
                                      style="Group.TCombobox")

            # Style for combo list boxes needs to be set directly on widget as no style parameter
            key = "settings_popup" if self._style.startswith("SPanel") else "control_panel"
            select_key = get_config().user_theme[key]
            cmd = f"[ttk::combobox::PopdownWindow {ctl}].f.l configure -"
            ctl.tk.eval(f"{cmd}foreground {theme['font_color']}")
            ctl.tk.eval(f"{cmd}background {theme['background']}")
            ctl.tk.eval(f"{cmd}selectforeground {select_key['header_color']}")
            ctl.tk.eval(f"{cmd}selectbackground {select_key['secondary_color']}")
          if self.option.sysbrowser is not None:
              self.filebrowser = FileBrowser(self.option.name,
                                             self.option.tk_var,
                                             self.frame,
                                           self.option.sysbrowser,
                                           self._style)

        theme = get_config().user_theme["group_box"]
        if self.option.control == tk.Entry:
            ctl = self.option.control(self.frame,
                                      textvariable=self.option.tk_var,
                                      font=get_config().default_font,
                                      bg=theme["input_color"],
                                      fg=theme["input_font"],
                                      highlightbackground=theme["input_font"],
                                      highlightthickness=1,
                                      bd=0)
        else:  # Combobox
            ctl = self.option.control(self.frame,
                                      textvariable=self.option.tk_var,
                                      font=get_config().default_font,
                                      state="readonly",
                                      style="Group.TCombobox")

            # Style for combo list boxes needs to be set directly on widget as no style parameter
            key = "settings_popup" if self._style.startswith("SPanel") else "control_panel"
            select_key = get_config().user_theme[key]
            cmd = f"[ttk::combobox::PopdownWindow {ctl}].f.l configure -"
            ctl.tk.eval(f"{cmd}foreground {theme['font_color']}")
            ctl.tk.eval(f"{cmd}background {theme['background']}")
            ctl.tk.eval(f"{cmd}selectforeground {select_key['header_color']}")
            ctl.tk.eval(f"{cmd}selectbackground {select_key['secondary_color']}")
  
          ctl = self.option.control(self.frame,
                                    textvariable=self.option.tk_var,
                                    font=get_config().default_font)
          rc_menu = _get_contextmenu(ctl)
keep keep keep keep replace keep keep keep keep keep
 GUI updates
  - Control panel fixes
  - Basic themeing support
  - Fix tools to display more natively
  - Give all config items a group 
lib/gui/control_helper.py