          self.objects["containers"]["top"].sash_place(0, width, 1)
          self.objects["containers"]["main"].sash_place(0, 1, height)
          self.update_idletasks()
  
      def close_app(self):
          """ Close Python. This is here because the graph
              animation function continues to run even when
              tkinter has gone away """
          logger.debug("Close Requested")
          confirm = messagebox.askokcancel
 
</s> remove         self.objects["containers"]["top"].sash_place(0, width, 1)
        self.objects["containers"]["main"].sash_place(0, 1, height)
 </s> add         self.objects["container_top"].sash_place(0, width, 1)
        self.objects["container_main"].sash_place(0, 1, height) </s> remove         confirm = messagebox.askokcancel
        confirmtxt = "Processes are still running. Are you sure...?"
        tk_vars = get_config().tk_vars
        if (tk_vars["runningtask"].get()
                and not confirm("Close", confirmtxt)):
            logger.debug("Close Cancelled")
 </s> add         if not self._confirm_close_on_running_task():
            return
        if not self._config.project.confirm_close(): </s> remove         """ Set a tk boolean var to callback when graph is ready to build """
 </s> add         """ Set a tkinter Boolean var to callback when graph is ready to build """ </s> remove         get_config().tk_vars["refreshgraph"].trace("w", self.update_current_session)
        get_config().tk_vars["istraining"].trace("w", self.remove_current_session)
 </s> add         tkv = get_config().tk_vars
        tkv["refreshgraph"].trace("w", self.update_current_session)
        tkv["istraining"].trace("w", self.remove_current_session)
        tkv["analysis_folder"].trace("w", self.populate_from_folder) </s> remove         self.set_training_callback()
 </s> add         self.set_callbacks()
    def rebuild(self):
        """ Rebuild the GUI on config change """
        logger.debug("Redrawing GUI")
        session_state = self._last_session.to_dict()
        self._config.refresh_config()
        get_images().__init__()
        self.set_fonts()
        self.build_gui(rebuild=True)
        if session_state is not None:
            self._last_session.from_dict(session_state)
        logger.debug("GUI Redrawn")

    def close_app(self, *args):  # pylint: disable=unused-argument
          self.objects["containers"]["top"].sash_place(0, width, 1)
          self.objects["containers"]["main"].sash_place(0, 1, height)
          self.update_idletasks()
  
    def rebuild(self):
        """ Rebuild the GUI on config change """
        logger.debug("Redrawing GUI")
        session_state = self._last_session.to_dict()
        self._config.refresh_config()
        get_images().__init__()
        self.set_fonts()
        self.build_gui(rebuild=True)
        if session_state is not None:
            self._last_session.from_dict(session_state)
        logger.debug("GUI Redrawn")

    def close_app(self, *args):  # pylint: disable=unused-argument
          """ Close Python. This is here because the graph
              animation function continues to run even when
              tkinter has gone away """
          logger.debug("Close Requested")
          confirm = messagebox.askokcancel
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 
scripts/gui.py