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
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
):
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
)
21 os
.execvp(full
, [full
, '-e', '0launch', '--'] + list(args
))
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
))