Help now uses 0launch 0.52 API
[AddApp.git] / AddApp / terminal.py
blob20c664e10eb932f57576cf814b11b68c612531da
1 import os
3 def find_in_path(prog):
4 """Search $PATH for prog.
5 If prog is an absolute path, return it unmodified.
6 @param prog: name of executable to find
7 @return: the full path of prog, or None if not found
8 """
9 if os.path.isabs(prog): return prog
10 for d in os.environ['PATH'].split(':'):
11 path = os.path.join(d, prog)
12 if os.path.isfile(path):
13 return path
14 return None
16 def run_in_terminal(args):
17 terminal_emulators = ['x-terminal-emulator', 'xterm', 'konsole']
18 for xterm in terminal_emulators:
19 full = find_in_path(xterm)
20 if full:
21 os.execvp(full, [full, '-e', '0launch', '--'] + list(args))
23 import rox
24 rox.croak("Can't run this program because it needs a terminal emulator and "
25 "you don't seem to have one!\n\nI looked for one of these:\n\n" + '\n'.join(terminal_emulators))