  
      @staticmethod
      def build_control_frame(page):
          ''' Build the frame to hold the control '''
          frame = tk.Frame(page)
          frame.pack(fill=tk.X)
          return frame
      
      @staticmethod
      def build_control_label(frame, title):
 
</s> remove     @staticmethod
    def build_control_frame(page):
 </s> add         self.build_control_label(ctlframe, ctltitle)
        option['value'] = self.build_control(ctlframe, ctl, dflt, ctlhelp, choices, sysbrowser)

    def build_control_frame(self, option_frame): </s> remove     @staticmethod
    def build_control_label(frame, title):
 </s> add     def build_control_label(self, frame, control_title): </s> remove         ctl_type = option['control_type']
        ctl_title = option['control_title']
        ctl_help = ' '.join(option.get('help', '').split())
        ctl_help = '. '.join(i.capitalize() for i in ctl_help.split('. '))
        ctl_help = ctl_title + ' - ' + ctl_help
        ctl_frame = self.build_control_frame(page)
        self.build_control_label(ctl_frame, ctl_title)
        if ctl_type == 'combobox':
            option['value'] = self.build_combobox(ctl_frame, ctl_help, option.get('default',''), option['choices'])
        if ctl_type == 'checkbox':
            option['value'] = self.build_checkbox(ctl_frame, ctl_help, option.get('default', False), ctl_title)
        if ctl_type == 'entrybox':
            option['value'] = self.build_entrybox(ctl_frame, ctl_help, option.get('default',''), None)
        if ctl_type in ('filechooser', 'folderchooser'):
            option['value'] = self.build_entrybox(ctl_frame, ctl_help, option.get('default',''), ctl_type)
 </s> add         ctl = option['control']
        ctltitle = option['control_title']
        sysbrowser = option['filesystem_browser']
        ctlhelp = ' '.join(option.get('help', '').split())
        ctlhelp = '. '.join(i.capitalize() for i in ctlhelp.split('. '))
        ctlhelp = ctltitle + ' - ' + ctlhelp
        ctlframe = self.build_control_frame(option_frame)
        
        dflt = option.get('default', False) if ctl == tk.Checkbutton else option.get('default', '')
        choices = option['choices'] if ctl == ttk.Combobox else None </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         frame = tk.Frame(page)
 </s> add         frame = tk.Frame(self.page)
        frame = tk.Frame(option_frame)
  
      @staticmethod
      def build_control_frame(page):
          ''' Build the frame to hold the control '''
        frame = tk.Frame(option_frame)
          frame.pack(fill=tk.X)
          return frame
      
      @staticmethod
      def build_control_label(frame, title):
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