  
  # All pages stuff
      def menu(self):
          ''' Menu bar for loading and saving configs '''
          menubar = tk.Menu(self.root)
          filemenu = tk.Menu(menubar, tearoff=0)
          filemenu.add_command(label='Load full config...', command=self.load_config)
          filemenu.add_command(label='Save full config...', command=self.save_config)
          filemenu.add_separator()
          filemenu.add_command(label='Reset all to default', command=self.reset_config)
 
</s> remove             title = command.title()
            page = ttk.Frame(notebook)
            
            self.add_left_frame(page, command)
            self.add_frame_seperator(page)
            opt_frame = self.add_right_frame(page)
            
            for option in self.opts[command]:
                self.build_tabs(option, opt_frame)
            
            notebook.add(page, text=title)

        self.root.mainloop()
 </s> add             commandtab = CommandTab(self, notebook, command)
            commandtab.build_tab() </s> remove         filemenu.add_command(label='Quit', command=self.root.quit)
 </s> add         filemenu.add_command(label='Quit', command=self.gui.quit) </s> remove     @staticmethod
    def add_frame_seperator(page):
        ''' Add a seperator between left and right frames '''
        separator = tk.Frame(page, width=2, bd=1, relief=tk.SUNKEN)
        separator.pack(fill=tk.Y, padx=5, side=tk.LEFT)

# Left Frame stuff
    def add_left_frame(self, page, title):
        ''' Add help display and execute button to the left frame of each page '''
        frame = tk.Frame(page)
 </s> add     def bind_help(self, control, helptext):
        ''' Controls the help text displayed on mouse hover '''
        for action in ('<Enter>', '<FocusIn>', '<Leave>', '<FocusOut>'):
            helptext = helptext if action in ('<Enter>', '<FocusIn>') else ''
            control.bind(action, lambda event, txt=helptext: self.helptext.set(txt))

    def execute_task(self, command):
        ''' Execute the task in Faceswap.py '''
        self.task.execute_script(self.opts, command, self.parser, self.statustext)

class ActionFrame(object):
    '''Action Frame - Displays information and action controls '''
    def __init__(self, gui, page, command):
        self.gui = gui
        self.page = page
        self.command = command
        self.title = command.title()

    def build_frame(self):
        ''' Add help display and Action buttons to the left frame of each page '''
        frame = tk.Frame(self.page) </s> remove     def process(self, arguments):
        ''' Builds the GUI '''
        self.arguments = arguments
        self.root.title('faceswap.py')
 </s> add     def build_gui(self):
        ''' Build the GUI '''
        self.gui.title('faceswap.py') </s> remove # Right Frame setup    
    def add_right_frame(self, page):
 </s> add         self.notebook.add(self.page, text=self.title)

    def add_frame_seperator(self):
        ''' Add a seperator between left and right frames '''
        sep = tk.Frame(self.page, width=2, bd=1, relief=tk.SUNKEN)
        sep.pack(fill=tk.Y, padx=5, side=tk.LEFT)

    def add_right_frame(self):
        menubar = tk.Menu(self.gui)
  
  # All pages stuff
      def menu(self):
          ''' Menu bar for loading and saving configs '''
        menubar = tk.Menu(self.gui)
          filemenu = tk.Menu(menubar, tearoff=0)
          filemenu.add_command(label='Load full config...', command=self.load_config)
          filemenu.add_command(label='Save full config...', command=self.save_config)
          filemenu.add_separator()
          filemenu.add_command(label='Reset all to default', command=self.reset_config)
keep keep keep keep replace keep keep keep keep keep
 GUI v0.1.0a (#336)

* Code clean up

* Code refactor

* bugfix: Find paths to icons when launched from outside faceswap dir

* Bugfix: Disable GUI if TkInter app not available

* BugFix: Disable GUI if $DISPLAY not detected

* Minor code ammends

* Code Refactor

* DISPLAY check fix 
scripts/gui.py