          self._root = get_config().root
          self._set_geometry()
  
          header_frame = self._build_header()
          content_frame = ttk.Frame(self)
  
          self._tree = _Tree(content_frame, configurations, name).tree
          self._tree.bind("<ButtonRelease-1>", self._select_item)
 
</s> remove         self._page_frame = ttk.Frame(self)
        self._plugin_info = dict()
 </s> add         header_frame = self._build_header()
        content_frame = ttk.Frame(self) </s> remove         self._config_cpanel_dict = self._get_config()
        self._build()
        self.update()
 </s> add         self._tree = _Tree(content_frame, configurations, name).tree
        self._tree.bind("<ButtonRelease-1>", self._select_item)

        self._opts_frame = DisplayArea(content_frame, configurations, self._tree)
        self._opts_frame.pack(fill=tk.BOTH, expand=True, side=tk.RIGHT)
        footer_frame = self._build_footer()

        header_frame.pack(fill=tk.X, padx=5, pady=5, side=tk.TOP)
        content_frame.pack(fill=tk.BOTH, padx=5, pady=(0, 5), expand=True, side=tk.TOP)
        footer_frame.pack(fill=tk.X, padx=5, pady=(0, 5), side=tk.BOTTOM) </s> remove         self._name = name
        self._config = configuration
 </s> add  </s> remove     def __init__(self, name, configuration):
        logger.debug("Initializing %s: (name: %s, configuration: %s)",
                     self.__class__.__name__, name, configuration)
 </s> add     def __init__(self, name, configurations):
        logger.debug("Initializing %s: (name: %s, configurations: %s)",
                     self.__class__.__name__, name, configurations) </s> remove         conf = dict()
        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():
                if key == "helptext":
                    self._plugin_info[section] = val
                    continue
                initial_value = self._config.config_dict[key]
                initial_value = "none" if initial_value is None else initial_value
                conf[category][section][key] = ControlPanelOption(
                    title=key,
                    dtype=val["type"],
                    group=val["group"],
                    default=val["default"],
                    initial_value=initial_value,
                    choices=val["choices"],
                    is_radio=val["gui_radio"],
                    rounding=val["rounding"],
                    min_max=val["min_max"],
                    helptext=val["helptext"])
        logger.debug("Formatted Config for GUI: %s", conf)
        return conf

    def _build(self):
        """ Build the configuration pop-up window"""
        logger.debug("Building plugin config popup")
        container = ttk.Notebook(self._page_frame)
        categories = sorted(list(self._config_cpanel_dict.keys()))
        if "global" in categories:  # Move global to first item
            categories.insert(0, categories.pop(categories.index("global")))
        for category in categories:
            page = self._build_page(container, category)
            container.add(page, text=category.title())

        self._add_frame_separator()
        self._add_actions()

        container.pack(fill=tk.BOTH, expand=True)
        logger.debug("Built plugin config popup")

    def _build_page(self, container, category):
        """ Build a single tab within the plugin's configuration pop-up.
 </s> add         retval = dict()
        for plugin, conf in self._configs.items():
            for section in conf.config.sections():
                conf.section = section
                category = section.split(".")[0]
                sect = section.split(".")[-1]
                # Elevate global to root
                key = plugin if sect == "global" else "{}|{}|{}".format(plugin, category, sect)
                retval[key] = dict(helptext=None, options=OrderedDict())

                for option, params in conf.defaults[section].items():
                    if option == "helptext":
                        retval[key]["helptext"] = params
                        continue
                    initial_value = conf.config_dict[option]
                    initial_value = "none" if initial_value is None else initial_value
                    retval[key]["options"][option] = ControlPanelOption(
                        title=option,
                        dtype=params["type"],
                        group=params["group"],
                        default=params["default"],
                        initial_value=initial_value,
                        choices=params["choices"],
                        is_radio=params["gui_radio"],
                        rounding=params["rounding"],
                        min_max=params["min_max"],
                        helptext=params["helptext"])
        logger.debug("Formatted Config for GUI: %s", retval)
        return retval

    def _build_header(self):
        """ Build the dynamic header text. """
        header_frame = ttk.Frame(self)
        var = tk.StringVar()
        lbl = ttk.Label(header_frame, textvariable=var, anchor=tk.W, style="H2.TLabel")
        lbl.pack(fill=tk.X, expand=True, side=tk.TOP)
        header_frame.pack(fill=tk.X, padx=5, pady=(5, 0), side=tk.TOP)
        self._vars["header"] = var

    def select_options(self, section, subsections):
        """ Display the page for the given section and subsections.
        self._tk_vars = dict(header=tk.StringVar())
          self._root = get_config().root
          self._set_geometry()
        self._tk_vars = dict(header=tk.StringVar())
  
          header_frame = self._build_header()
          content_frame = ttk.Frame(self)
  
          self._tree = _Tree(content_frame, configurations, name).tree
          self._tree.bind("<ButtonRelease-1>", self._select_item)
keep add keep keep keep keep keep keep
 GUI: Consolidate settings to single menu 
lib/gui/popup_configure.py