[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