                                textvariable=self.vars["status"],
                                anchor=tk.W)
          lblstatus.pack(side=tk.LEFT, anchor=tk.W, fill=tk.X, expand=True)
  
          for btntype in ("reset", "save"):
              cmd = getattr(self, "optbtn_{}".format(btntype))
              btn = ttk.Button(btnframe,
                               image=get_images().icons[btntype],
                               command=cmd)
              btn.pack(padx=2, side=tk.RIGHT)
 
</s> remove             fileopn = ttk.Button(self.frame, image=img, command=cmd)
            add_command(fileopn.cget("command"), cmd)
            fileopn.pack(padx=(0, 5), side=tk.RIGHT)
            get_tooltip(fileopn, text=self.helptext[browser], wraplength=600)
 </s> add             fileopn = ttk.Button(frame, image=img, command=cmd)
            _add_command(fileopn.cget("command"), cmd)
            fileopn.pack(padx=0, side=tk.RIGHT)
            _get_tooltip(fileopn, text=self.helptext[lbl], wraplength=600) </s> remove             img = get_images().icons[browser]
 </s> add             if browser == "save":
                lbl = "save_as"
            elif browser == "load" and self.filetypes == "video":
                lbl = self.filetypes
            elif browser == "load":
                lbl = "load2"
            elif browser == "folder" and (self._opt_name.startswith(("frames", "faces"))
                                          or "input" in self._opt_name):
                lbl = "picture"
            elif browser == "folder" and "model" in self._opt_name:
                lbl = "model"
            else:
                lbl = browser
            img = get_images().icons[lbl] </s> remove     def add_timeout(self, actframe):
        """ Add a timeout option for training """
        logger.debug("Adding timeout box for %s", self.command)
        tk_var = get_config().tk_vars["traintimeout"]
        min_max = (10, 600)

        frameto = ttk.Frame(actframe)
        frameto.pack(padx=5, pady=5, side=tk.RIGHT, fill=tk.X, expand=True)
        lblto = ttk.Label(frameto, text="Timeout:", anchor=tk.W)
        lblto.pack(side=tk.LEFT)
        sldto = ttk.Scale(frameto,
                          variable=tk_var,
                          from_=min_max[0],
                          to=min_max[1],
                          command=lambda val, var=tk_var, dt=int, rn=10, mm=min_max:
                          set_slider_rounding(val, var, dt, rn, mm))
        sldto.pack(padx=5, side=tk.LEFT, fill=tk.X, expand=True)
        tboxto = ttk.Entry(frameto, width=3, textvariable=tk_var, justify=tk.RIGHT)
        tboxto.pack(side=tk.RIGHT)
        helptxt = ("Training can take some time to save and shutdown. "
                   "Set the timeout in seconds before giving up and force quitting.")
        Tooltip(sldto,
                text=helptxt,
                wraplength=200)
        Tooltip(tboxto,
                text=helptxt,
 </s> add         btnact = ttk.Button(actframe,
                            image=get_images().icons["start"],
                            text=" {}".format(self.title),
                            compound=tk.LEFT,
                            width=14,
                            command=lambda: tk_vars["action"].set(var_value))
        btnact.pack(side=tk.LEFT, fill=tk.X, expand=True)
        Tooltip(btnact,
                text="Run the {} script".format(self.title), </s> remove             cmd = self.optbtn_reset if item == "Display" else self.graph_scale
 </s> add             cmd = self.optbtn_reload if item == "Display" else self.graph_scale </s> remove         if btntype == "reset":
 </s> add         if btntype == "reload":
        for btntype in ("reload", "save"):
                                textvariable=self.vars["status"],
                                anchor=tk.W)
          lblstatus.pack(side=tk.LEFT, anchor=tk.W, fill=tk.X, expand=True)
  
        for btntype in ("reload", "save"):
              cmd = getattr(self, "optbtn_{}".format(btntype))
              btn = ttk.Button(btnframe,
                               image=get_images().icons[btntype],
                               command=cmd)
              btn.pack(padx=2, side=tk.RIGHT)
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/display_analysis.py