          
  # Right Frame setup    
      def add_right_frame(self, page):
          ''' Add the options panel to the right frame of each page '''
          frame = tk.Frame(page)
          frame.pack(side=tk.RIGHT, fill=tk.BOTH, expand=True, padx=(0,5))
  
          canvas = tk.Canvas(frame, width=490, height=450, bd=0, highlightthickness=0)
          canvas.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)
  
 
</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         optlist = ['faceswap.py', command]
        for item in self.opts[command]:
            opt_value = str(item.get('value','').get())
            opt = item['opts'][0]
            if opt_value == 'False' or opt_value == '':
                continue
            elif opt_value == 'True':
                optlist.append(opt)
            else:
                optlist.extend((opt, opt_value))
        sys.argv = optlist
        process = Thread(target=self.launch_thread, args=(command,))
        process.start()

    def launch_thread(self, command):
        ''' Launch the script inside a subprocess to keep the GUI active '''
        title = command.capitalize()
        self.statustext.set('Running - {}'.format(title))
        self.parser.set_defaults(func=self.bad_args)
        arguments = self.parser.parse_args()
        arguments.func(arguments)
        self.statustext.set('Idle')
 </s> add         for option in self.gui.opts[self.command]:
            self.build_tabs(option, opt_frame) </s> remove         opts_frame = tk.Frame(canvas)
        canvas.create_window((0,0), window=opts_frame, anchor=tk.NW)
 </s> add         optsframe = tk.Frame(canvas)
        canvas.create_window((0,0), window=optsframe, anchor=tk.NW) </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         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)
 </s> add         self.add_info_section(frame)
        self.add_action_buttons(frame)
        self.add_util_buttons(frame)
        self.add_status_section(frame)
        frame = tk.Frame(self.page)
          
  # Right Frame setup    
      def add_right_frame(self, page):
          ''' Add the options panel to the right frame of each page '''
        frame = tk.Frame(self.page)
          frame.pack(side=tk.RIGHT, fill=tk.BOTH, expand=True, padx=(0,5))
  
          canvas = tk.Canvas(frame, width=490, height=450, bd=0, highlightthickness=0)
          canvas.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)
  
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