          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)
  
          logger.debug("Initialized %s", self.__class__.__name__)
  
      @staticmethod
      def _adjust_wraplength(event):
 
</s> remove         self.canvas = tk.Canvas(self, bd=0, highlightthickness=0)
        self.canvas.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)
 </s> add         self._canvas = tk.Canvas(self, bd=0, highlightthickness=0)
        self._canvas.pack(side=tk.LEFT, fill=tk.BOTH, expand=True) </s> remove         self.parent = parent
        self.columns = min(columns, self.max_columns)
 </s> add  </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())
        self._optscanvas = self._canvas.create_window((0, 0), window=self.mainframe, anchor=tk.NW)
        self.build_panel(blank_nones, scrollbar)
          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, scrollbar)
        self._optscanvas = self._canvas.create_window((0, 0), window=self.mainframe, anchor=tk.NW)
        self.build_panel(blank_nones, scrollbar)
        self._optscanvas = self._canvas.create_window((0, 0), window=self.mainframe, anchor=tk.NW)
        self.build_panel(blank_nones, scrollbar)
  
          logger.debug("Initialized %s", self.__class__.__name__)
  
      @staticmethod
      def _adjust_wraplength(event):
keep keep keep keep replace 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