  
          self.header_text = header_text
          self.group_frames = dict()
  
          self.canvas = tk.Canvas(self, bd=0, highlightthickness=0)
          self.canvas.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)
  
          self.mainframe, self.optsframe = self.get_opts_frame()
          self.optscanvas = self.canvas.create_window((0, 0), window=self.mainframe, anchor=tk.NW)
  
          self.build_panel(blank_nones)
 
</s> remove         self.optscanvas = self.canvas.create_window((0, 0), window=self.mainframe, anchor=tk.NW)

        self.build_panel(blank_nones)
 </s> add         self._optscanvas = self._canvas.create_window((0, 0), window=self.mainframe, anchor=tk.NW)
        self.build_panel(blank_nones, scrollbar) </s> remove                 cp_options = [opt for opt in self.config_cpanel_dict[category][plugin].values()]
 </s> add                 cp_options = list(self.config_cpanel_dict[category][plugin].values()) </s> remove         self.normalize_method = normalize_method
 </s> add         self._normalize_method = None
        self.set_normalize_method(normalize_method) </s> remove         panel_kwargs = dict(columns=2, option_columns=2, blank_nones=False)
 </s> add         panel_kwargs = dict(columns=2, max_columns=2, option_columns=2, blank_nones=False)
        self._canvas = tk.Canvas(self, bd=0, highlightthickness=0)
        self._canvas.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)
  
          self.header_text = header_text
          self.group_frames = dict()
  
        self._canvas = tk.Canvas(self, bd=0, highlightthickness=0)
        self._canvas.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)
        self._canvas = tk.Canvas(self, bd=0, highlightthickness=0)
        self._canvas.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)
  
          self.mainframe, self.optsframe = self.get_opts_frame()
          self.optscanvas = self.canvas.create_window((0, 0), window=self.mainframe, anchor=tk.NW)
  
          self.build_panel(blank_nones)
keep keep keep keep replace replace keep keep keep keep keep
 Core updates (#982)

* plugins.extract.align
  - Expose normalization method

* lib.gui core updates
  - Minor updates to support future development. 
lib/gui/control_helper.py