summaryrefslogtreecommitdiff
path: root/meta/lib
diff options
context:
space:
mode:
authorJoshua Lock <josh@linux.intel.com>2011-10-31 14:53:14 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-11-01 11:18:31 +0000
commit162b70a36388ac44fc1b39e172cd53579707bff3 (patch)
treebcf36959deb8ff8e89cdfa45644b5a6b6deeaf73 /meta/lib
parent343eec2dde0f3374adc656d64bfab3d3015c5c3c (diff)
downloadopenembedded-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.py23
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