[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-devel
Subject: Re: How to spawn a konsole from another app?
From: Robin Atwood <robin.atwood () attglobal ! net>
Date: 2008-03-07 16:57:52
Message-ID: 200803072357.52672.robin.atwood () attglobal ! net
[Download RAW message or body]
On Friday 07 Mar 2008, Andreas Pakulat wrote:
> On 07.03.08 17:53:29, Robin Atwood wrote:
> > I want to execute a bash script and display the results to the user.
> > Since the output is very heavily formated, executing the script
> > in "konsole --noclose ..." seems the most tidy solution. I currently just
> > use the system() function to do this and it works but the main
> > application freezes until the user closes the konsole. I think there must
> > be a better KDE way of doing this and I have found KProcess but that
> > causes Konsole problems; it does not provide the right environment. The
> > error messages:
> >
> > konsole: WARNING: Unable to open a pseudo teletype!
> > Uh oh.. can't get terminal attributes..
>
> Sounds as if your hosting application doesn't run in an X11 environment
> or some such. KDevelop3 also executes the application inside an external
> konsole using KProcess (without blocking the Ui) if the user wants that.
>
> Its using KProcess::start( KProcess::OwnGroup, KProcess::AllOutput ) to
> do that.
I had a look at the KDevelop code and now have:
KProcess *proc = new KProcess( this );
*proc << "konsole";
proc->setUseShell( true );
connect( proc, SIGNAL(processExited(KProcess *)), this, SLOT(slotProcess(
KProcess * )) );
proc->start( KProcess::NotifyOnExit, KProcess::CTtyOnly );
which does the trick. :)
Thanks for the pointers
-Robin
--
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic