[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Re: kinit: A new way to start KDE programs!
From:       Waldo Bastian <bastian () suse ! de>
Date:       1999-12-26 16:43:40
[Download RAW message or body]

On Sun, 26 Dec 1999, Mario Weilguni wrote:
> > The next step would be to launch "ktrader" (to be written) after
> > the dcopserver. ktrader can take requests via DCOP and uses kinit
> > to launch processes. ktrader needs some communication with kinit:
> > It could use a pipe for this, since kinit launches ktrader anyway.
> >
> > Do you think it is necassery to pass the complete environment?
>
> Yes, it is.
>
> export DISPLAY=:1
> konsole&
>
> or
>
> export PATH=~/whatever:$PATH
> konsole&
>
> Both will not work without.

This is all focused on starting apps from the command line. For that we 
can use something like your ESL-wrapper (Where is it? I only read about 
it...) 

With KDE, applications are typically launched by other applications 
using the desktop files and such. This is where the trader comes in.

Typically you want to ask the trader "Give me an application to edit 
mimetype text/plain". and then the trader launches the application (via 
kinit/ESL) waits for it to register itself at DCOP and returns the 
DCOP-name/pid for further use.

> If I understand this ktrader will do what in ESL the wrapper does,
> right? Then you can't use DCOP, because DCOP requires qt, and this
> renders the approach useless in regards of startup time. 

I am thinking in terms of launching apps from the panel. You don't need 
a trader to launch an app from a command shell. That's a matter of fire 
and forget.

> I used a plain and simply C-wrapper, with almost no memory and time 
> penalty.
> The executor (or kinit or whatever you call it) may use DCOP, because
> it is linked against qt anyways. But the wrapper should NOT use DCOP.

> Beside the environment, you must also pass all command line
> arguments, the cwd. Look in ESL, wrapper.c. And don't forget that the
> wrapper itself must be able to start programs, because otherwise,
> this will not work:
> 1. as non-root user start a konsole
> 2. xhost +localhost (or use xauth, if you prefer)
> 3. "su root"
> 3. konsole

> This assumes that konsole is in reality "libkonsole.so", and is
> started with a wrapper. No other user may use kinit, so your options
> are to launch a kinit for "root" too, or start konsole directly from
> the wrapper.

It seems the requirements for a wrapper are rather different than those 
for the trader. I guess we need both a wrapper as well as a trader. 
Maybe the trader can use the wrapper as well.

Cheers,
Waldo

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic