  # original config or are prone to getting destroyed when the original widget is destroyed)
  _RECREATE_OBJECTS = dict(tooltips=dict(), commands=dict(), contextmenus=dict())
  
  
  def get_tooltip(widget, text, wraplength=600):
      """ Store the tooltip layout and widget id in _TOOLTIPS and return a tooltip """
      _RECREATE_OBJECTS["tooltips"][str(widget)] = {"text": text,
                                                    "wraplength": wraplength}
      logger.debug("Adding to tooltips dict: (widget: %s. text: '%s', wraplength: %s)",
                   widget, text, wraplength)
 
</s> remove def get_contextmenu(widget):
 </s> add def _get_contextmenu(widget): </s> remove         """ Same as original but ttk widgets and standard tooltips used. Separator added and
 </s> add         """ Same as original but ttk widgets and standard tool-tips used. Separator added and </s> remove         iconmapping = {"home": "reset",
 </s> add         iconmapping = {"home": "reload", </s> remove         """ Set the root or widget cursor to busy """
 </s> add         """ Set the root or widget cursor to busy.

        Parameters
        ----------
        widget: tkinter object, optional
            The widget to set busy cursor for. If the provided value is ``None`` then sets the
            cursor busy for the whole of the GUI. Default: ``None``.
        """ </s> remove         """ Set the root or widget cursor to default """
 </s> add         """ Set the root or widget cursor to default.

        Parameters
        ----------
        widget: tkinter object, optional
            The widget to set default cursor for. If the provided value is ``None`` then sets the
            cursor busy for the whole of the GUI. Default: ``None``
        """
def _get_tooltip(widget, text, wraplength=600):
  # original config or are prone to getting destroyed when the original widget is destroyed)
  _RECREATE_OBJECTS = dict(tooltips=dict(), commands=dict(), contextmenus=dict())
  
  
def _get_tooltip(widget, text, wraplength=600):
      """ Store the tooltip layout and widget id in _TOOLTIPS and return a tooltip """
      _RECREATE_OBJECTS["tooltips"][str(widget)] = {"text": text,
                                                    "wraplength": wraplength}
      logger.debug("Adding to tooltips dict: (widget: %s. text: '%s', wraplength: %s)",
                   widget, text, wraplength)
keep keep keep keep replace keep keep keep keep keep
 GUI Updates (#940)

* lib.gui: Update icons
* tools.cli: Add video filetype flag to mask input
* lib.gui.popup_configure: Refresh GUI on config save
* lib.gui._config: Add Icon size and load last session options
* lib.gui.control_helper - Add control modification tracking
* lib.gui - Add Projects and Last Session
- Main root title handled by projects
- Add Hotkeys
- Create projects module
- split fsw and fst filetypes
- Add last_session saving

* lib.project
- Documentation
- Ask confirm on closing unsaved project
-Fixups

* Track model folder changes
- Shuffle some globals
- Activate System Verbosity for GUI

* lib.gui.utils - Documentation and clean up
- lib.gui.custom_widgets - Create and document

* Add GUI config option to disable auto loading model stats 
lib/gui/control_helper.py