Mixing KDE3 and KDE4

Lubos Lunak l.lunak at suse.cz
Mon Mar 17 12:48:30 GMT 2008

On Sunday 16 of March 2008, Thiago Macieira wrote:
> Lubos Lunak wrote:
> >- session management doesn't work - ksmserver restores "its" version
> > (i.e. run KWrite from KDE3 in KDE4, you get the KDE4 version after next
> > login)
> This happens to anything that you have more than installed more than once
> in your system. For instance, I have a distribution-provided Skype and
> one I downloaded (the latest version).
> Your patch isn't solving that. Why don't applications simply tell the
> session manager the path to their executables, or however they prefer to
> be run?

 I'm not trying to solve that. I consider your specific case rare enough to be 
a non-issue. If you for some reason have two Skype versions installed, which 
on its own should be rare, you'll probably put the preferred into first in 
$PATH, which makes your problem even more rare.

 However now with KDE4 coming but not being yet ready to replace KDE3 
completely, I expect it to be reasonably possible that people will have both 
KDE3 and KDE4 versions installed (well, at least where not everything is put 
in /usr, like with SUSE) and users possibly mixing them depending on their 
preferences (because they don't find the KDE4 version a good replacement for 
whatever reason, because they want KDE4's KWin with KDE3, whatever). I'm not 
saying this is a permanent problem or that the solution is nice, but I think 
it's needed.

> Of course it isn't going to solve the problem for old applications, but
> we'd be future-proofing against this problem happening again.
> So, concluding: instead of saving the "kde version", save the command that
> the application wants to be run with.

 I don't think that really solves anything. Apps indeed could save the path 
with the command, that's quite possibly even how that was meant with the XSMP 
protocol. However in practice the app could move (which is presumably minor 
enough to be ignored) and, IMHO more importanly, you still may need the 
wrapper script to do the necessary setup. Some builds may require KDEDIR set, 
or XDG_DATA_DIRS may possibly need the proper ordering of KDE3/KDE4 paths, or 
what do I know. XSMP actually has support for storing the environment too, 
but that doesn't seem to be feasible in practice, as some of those mustn't be 
changed (e.g. DBUS_SESSION_BUS_ADDRESS I guess). Then instead of using a flag 
to figure out whether to use a wrapper you need to decipher this from the 

Lubos Lunak
KDE developer
SUSE LINUX, s.r.o.   e-mail: l.lunak at suse.cz , l.lunak at kde.org
Lihovarska 1060/12   tel: +420 284 028 972
190 00 Prague 9      fax: +420 284 028 951
Czech Republic       http://www.suse.cz

More information about the kde-core-devel mailing list