diff options
author | Joshua Lock <josh@linux.intel.com> | 2011-10-31 14:53:14 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-11-01 11:18:31 +0000 |
commit | 162b70a36388ac44fc1b39e172cd53579707bff3 (patch) | |
tree | bcf36959deb8ff8e89cdfa45644b5a6b6deeaf73 /meta/lib | |
parent | 343eec2dde0f3374adc656d64bfab3d3015c5c3c (diff) | |
download | openembedded-core-162b70a36388ac44fc1b39e172cd53579707bff3.tar.gz openembedded-core-162b70a36388ac44fc1b39e172cd53579707bff3.tar.bz2 openembedded-core-162b70a36388ac44fc1b39e172cd53579707bff3.tar.xz openembedded-core-162b70a36388ac44fc1b39e172cd53579707bff3.zip |
lib/oe/terminal: add support for XFCE's terminal emulator
That's Terminal on Fedora and xfce4-terminal on Ubuntu/Debian... This
could get interesting!
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib')
-rw-r--r-- | meta/lib/oe/terminal.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/meta/lib/oe/terminal.py b/meta/lib/oe/terminal.py index 1455e8e71..43639d5dd 100644 --- a/meta/lib/oe/terminal.py +++ b/meta/lib/oe/terminal.py @@ -57,6 +57,20 @@ class Gnome(XTerminal): command = 'gnome-terminal --disable-factory -t "{title}" -x {command}' priority = 2 +class Xfce(XTerminal): + command = 'Terminal -T "{title}" -e "{command}"' + priority = 2 + + def __init__(self, command, title=None, env=None): + # Upstream binary name is Terminal but Debian/Ubuntu use + # xfce4-terminal to avoid possible(?) conflicts + distro = distro_name() + if distro == 'ubuntu' or distro == 'debian': + cmd = 'xfce4-terminal -T "{title}" -e "{command}"' + else: + cmd = command + XTerminal.__init__(self, cmd, title, env) + class Konsole(XTerminal): command = 'konsole -T "{title}" -e {command}' priority = 2 @@ -131,3 +145,12 @@ def check_konsole_version(konsole): if ver.startswith('Konsole'): vernum = ver.split(' ')[-1] return vernum + +def distro_name(): + try: + p = Popen(['lsb_release', '-i']) + out, err = p.communicate() + distro = out.split(':')[1].strip().lower() + except: + distro = "unknown" + return distro |