From: Joshua Lock <josh@linux.intel.com>
To: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH 1/4] lib/oe/terminal: add support for XFCE's terminal emulator
Date: Mon, 31 Oct 2011 10:09:49 -0700 [thread overview]
Message-ID: <4EAED65D.8060205@linux.intel.com> (raw)
In-Reply-To: <CABcZANkS9zDK-qLtMxHdn7SE29vTz+HPMwCUtf=yP-uuGV=Dtg@mail.gmail.com>
On 28/10/11 17:56, Chris Larson wrote:
> On Fri, Oct 28, 2011 at 4:42 PM, Joshua Lock <josh@linux.intel.com> wrote:
>> That's Terminal on Fedora and xfce4-terminal on Ubuntu/Debian... This
>> could get interesting!
>>
>> Signed-off-by: Joshua Lock <josh@linux.intel.com>
>> ---
>> meta/lib/oe/terminal.py | 21 +++++++++++++++++++++
>> 1 files changed, 21 insertions(+), 0 deletions(-)
>>
>> diff --git a/meta/lib/oe/terminal.py b/meta/lib/oe/terminal.py
>> index 1455e8e..b90a1f2 100644
>> --- a/meta/lib/oe/terminal.py
>> +++ b/meta/lib/oe/terminal.py
>> @@ -57,6 +57,27 @@ class Gnome(XTerminal):
>> command = 'gnome-terminal --disable-factory -t "{title}" -x {command}'
>> priority = 2
>>
>> +class Xfce(XTerminal):
>> + def distro_name():
>> + import subprocess as sub
>> + try:
>> + p = sub.Popen(['lsb_release', '-i'], stdout=sub.PIPE,
>> + stderr=sub.PIPE)
>> + out, err = p.communicate()
>> + distro = out.split(':').strip()
>> + except:
>> + distro = "unknown"
>> + return distro
>> +
>> + # Upstream binary name is Terminal but Debian/Ubuntu use
>> + # xfce4-terminal to avoid possible(?) conflicts
>> + distro = distro_name()
>> + if distro == 'Ubuntu' or distro == 'Debian':
>> + command = 'xfce4-terminal -T "{title}" -e "{command}"'
>> + else:
>> + command = 'Terminal -T "{title}" -e "{command}"'
>> + priority = 2
>
> The first problem I see with this is you're calling lsb_release at
> module import time. Doing things like that is generally a no-no. I'd
> suggest shifting it into the constructor. Set up the command there as
> self.command, and be sure to call the superclass constructor as well,
> after the command bits. The other thing is, and I'm sure you just
> copied & pasted it from konsole, but we already import a fully
> functional Popen -- it's the superclass of all the terminal classes.
> So there's no need to pull in subprocess's version of it. And the
> defaults of the Popen we use ensure the output is captured, so there's
> no need for the sub.PIPE bits at all if you use that one. Simply do p
> = Popen(['lsb_release', '-i']).
Thanks for the feedback Chris. I'll roll your suggestions into a v2 today.
>
> Thanks for adding this, I'm sure folks using stock Xubuntu and the
> like will find this helpful (I'm an rxvt-unicode guy myself).
I figured that DE would be getting more popular, hence throwing a patch
together.
Cheers,
Joshua
--
Joshua Lock
Yocto Project "Johannes factotum"
Intel Open Source Technology Centre
next prev parent reply other threads:[~2011-10-31 17:15 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-28 23:41 [PATCH 0/4] Misc patches Joshua Lock
2011-10-28 23:42 ` [PATCH 1/4] lib/oe/terminal: add support for XFCE's terminal emulator Joshua Lock
2011-10-29 0:56 ` Chris Larson
2011-10-31 17:09 ` Joshua Lock [this message]
2011-10-28 23:42 ` [PATCH 2/4] libxslt: Fix packaging of xsltConf.sh Joshua Lock
2011-10-28 23:42 ` [PATCH 3/4] libcanberra: add new package for unpackaged files Joshua Lock
2011-10-28 23:42 ` [PATCH 4/4] clutter-gtk: add LIC_FILES_CHKSUM to include file Joshua Lock
2011-10-31 10:49 ` [PATCH 0/4] Misc patches Richard Purdie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4EAED65D.8060205@linux.intel.com \
--to=josh@linux.intel.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.