      redir = WidgetRedirector(text)
      def my_insert(*args):
          print("insert", args)
          original_insert(*args)
      original_insert = redir.register("insert", my_insert)
      """
  
      def __init__(self, redir, operation):
          """Create .tk_call and .orig_and_operation for .__call__ method.
  
 
</s> remove     def __init__(self, redir, operation):
 </s> add     def __init__(self, redirect, operation): </s> remove     redir = WidgetRedirector(text)
 </s> add     redirect = WidgetRedirector(text) </s> remove         .redir and .operation store the input args for __repr__.
        .tk and .orig copy attributes of .redir (probably not needed).
 </s> add         .redirect and .operation store the input args for __repr__.
        .tk and .orig copy attributes of .redirect (probably not needed). </s> remove         super().__init__(parent, tab_name, helptext, waittime, command)
 </s> add         super().__init__(parent, tab_name, helptext, wait_time, command) </s> remove                                self.redir, self.operation)
 </s> add                                self.redirect, self.operation)
    original_insert = redirect.register("insert", my_insert)
      redir = WidgetRedirector(text)
      def my_insert(*args):
          print("insert", args)
          original_insert(*args)
    original_insert = redirect.register("insert", my_insert)
      """
  
      def __init__(self, redir, operation):
          """Create .tk_call and .orig_and_operation for .__call__ method.
  
keep keep keep keep replace keep keep keep keep keep
 GUI fixes
  - Split themes and styles to own module
  - Fix border on console window
  - variable name updates to make pep8 happy 
lib/gui/custom_widgets.py