          ''' Add help display and execute button to the left frame of each page '''
          frame = tk.Frame(page)
          frame.pack(fill=tk.X, padx=(10,5), side=tk.LEFT, anchor=tk.N)
  
          topframe = tk.Frame(frame)
          topframe.pack(fill=tk.X, side=tk.TOP)
          bottomframe = tk.Frame(frame)
          bottomframe.pack(fill=tk.X, side=tk.BOTTOM)
          self.add_info_section(topframe)
          self.add_action_buttons(topframe, title)
          self.add_util_buttons(bottomframe, title)
          self.add_status_section(bottomframe)
          
      def add_info_section(self, frame):
          ''' Build the info text section page '''
          helpframe=tk.Frame(frame)
          helpframe.pack(fill=tk.X, side=tk.TOP, pady=5)
 
</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         helpframe=tk.Frame(frame)
        helpframe.pack(fill=tk.X, side=tk.TOP, pady=5)
        lbl_title = tk.Label(helpframe, text='Info', width=15, anchor=tk.SW)
        lbl_title.pack(side=tk.TOP)
        self.helptext.set('')
        lbl_help = tk.Label(helpframe, height=20, width=15, textvariable=self.helptext,  wraplength=120, justify=tk.LEFT, anchor=tk.NW, bg="gray90")
        lbl_help.pack(side=tk.BOTTOM, anchor=tk.N)

    def bind_help(self, control, helptext):
        ''' Controls the help text displayed on mouse hover '''
        control.bind('<Enter>', lambda event: self.helptext.set(helptext))
        control.bind('<FocusIn>', lambda event: self.helptext.set(helptext))
        control.bind('<Leave>', lambda event: self.helptext.set(''))
        control.bind('<FocusOut>', lambda event: self.helptext.set(''))

    def add_action_buttons(self, frame, title):
 </s> add         hlpframe=tk.Frame(frame)
        hlpframe.pack(fill=tk.X, side=tk.TOP, pady=5)
        lbltitle = tk.Label(hlpframe, text='Info', width=15, anchor=tk.SW)
        lbltitle.pack(side=tk.TOP)
        self.gui.helptext.set('')
        lblhelp = tk.Label( hlpframe,
                            height=20,
                            width=15,
                            textvariable=self.gui.helptext,
                            wraplength=120, 
                            justify=tk.LEFT, 
                            anchor=tk.NW,
                            bg="gray90")
        lblhelp.pack(side=tk.TOP, anchor=tk.N)

    def add_action_buttons(self, frame): </s> remove         statusframe.pack(side=tk.BOTTOM, pady=(5,0))
 </s> add         statusframe.pack(side=tk.TOP, pady=(5,0)) </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): </s> remove         frame = tk.Frame(page)
 </s> add         frame = tk.Frame(self.page)
        self.add_info_section(frame)
        self.add_action_buttons(frame)
        self.add_util_buttons(frame)
        self.add_status_section(frame)
          ''' Add help display and execute button to the left frame of each page '''
          frame = tk.Frame(page)
          frame.pack(fill=tk.X, padx=(10,5), side=tk.LEFT, anchor=tk.N)
  
        self.add_info_section(frame)
        self.add_action_buttons(frame)
        self.add_util_buttons(frame)
        self.add_status_section(frame)
        self.add_info_section(frame)
        self.add_action_buttons(frame)
        self.add_util_buttons(frame)
        self.add_status_section(frame)
        self.add_info_section(frame)
        self.add_action_buttons(frame)
        self.add_util_buttons(frame)
        self.add_status_section(frame)
        self.add_info_section(frame)
        self.add_action_buttons(frame)
        self.add_util_buttons(frame)
        self.add_status_section(frame)
        self.add_info_section(frame)
        self.add_action_buttons(frame)
        self.add_util_buttons(frame)
        self.add_status_section(frame)
        self.add_info_section(frame)
        self.add_action_buttons(frame)
        self.add_util_buttons(frame)
        self.add_status_section(frame)
        self.add_info_section(frame)
        self.add_action_buttons(frame)
        self.add_util_buttons(frame)
        self.add_status_section(frame)
        self.add_info_section(frame)
        self.add_action_buttons(frame)
        self.add_util_buttons(frame)
        self.add_status_section(frame)
          
      def add_info_section(self, frame):
          ''' Build the info text section page '''
          helpframe=tk.Frame(frame)
          helpframe.pack(fill=tk.X, side=tk.TOP, pady=5)
keep keep keep keep replace replace replace replace replace replace replace 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