[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-core-devel
Subject: app startup wrapper again ( now with some source for free )
From: Lubos Lunak <l.lunak () sh ! cvut ! cz>
Date: 2001-05-04 16:04:02
[Download RAW message or body]
Hello,
since nobody expressed insterest in my idea of a wrapper for starting KDE
apps ( see http://lists.kde.org/?l=kde-core-devel&m=98832152529961&w=2 ), I
decided to find the time to at least partially implement it, which will
probably get more attention ( I forgot, source always gets more attention
here than just ideas ).
See the attached patches ( it also includes one kdeinit fix that I've
already commited ).
Right now, it can do this :
- start apps via kdeinit even if started from e.g. konsole
- start_on_desktop ( i.e. mapping first window of the app to desktop that was
active when the app was started ), again, even if started e.g. from konsole
- redirecting stdout and stderr of kdeinit started app to the console from
which the wrapper was started ( I'm not actually very sure if it's 100% ok or
if it works just by accident )
- wrapper app passes all signals it gets to the "real" process, so you man
e.g. ctrl+z the app
- wrapper app waits for the "real" process to finish and only after that it
quits, it doesn't return it's return status though ( but it probably could be
done too )
- it notices KWin and possibly other apps about the starting app using pure
X, no DCOP or anything like that, and it's a simple plain text message
listing several "name=value" - this is because I like it better this way (
DCOP can't be used in the kdeinit process ), it can be easily used by other
WMs or Gnome - I'd like to convert the taskbar to this too and declare
appStarted() and clientDied() DCOP calls obsolete, so we will get also
app-start notification
The only really missing part ( besides bugfixing and general improving ) now
is configuration - kcontrol module, settings things up, list of apps that
don't want to use this or that, etc. I think this can be easily done for
KDE2.2, and since I noted that gnomers are designing galf ( gnome app launch
feedback ) these days too, it could be even standardized by then with some
luck. If this will be okayed for commiting, I'll join the discussion on
xdg-list@freedesktop.org and try to persuade them to use the same approach (
gnomers actually seem to want to use app-starting with the help of toolkit,
which is a thing I ingored for now, only left a room for extending, so the
result could be a merge of these two approaches ).
Right now, because the configuration is missing, you can either start the
apps as 'kwrapper <app> <args>', or make symlinks e.g. konsole->kwrapper (
don't use symlinks for apps that don't have kdeinit module, you'll most
probably get infinite loop now ).
Ok, now questions ( Waldo ? ):
- The most important : May I commit ? ( read : is it ok for KDE2.2 ? )
- What exactly is kdeinit_shell supposed to do ?
- kdeinit_wrapper simply starts an app using kdeinit and nothing else, it's
used for things like starting kwin, so it should ignore all the above
described things
- kwrapper ( i.e. what I added ) - my idea is that this will simply make
the app look like it was really started in the console ( as far as possible
), so it will pass env, tty etc. and do start-app notify etc.
- kdeinit_shell - well, my idea is that this will be simply kwrapper
without all that IMHO unnecessary burden requiring another process - no tty
passing, no signals passing, but it will still do app-starting notify etc.
- What else uses kdeinit ? I'm getting a bit lost in the KLauncher/KRun
sources :(.
Probably enough for now ... unless I forgot something important.
Yes, one important thing : I don't see the main reason of this in getting
apps loaded faster and use less memory ( but it counts of course ), I see all
the three things equally important ( kdeinit loading, app-start notification,
start_on_desktop )
Lubos Lunak ( Seli on #kde )
--
l.lunak@email.cz ; l.lunak@kde.org
http://dforce.sh.cvut.cz/~seli
["kwrapper.tar.bz2" (application/x-bzip2)]
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic