From kde-core-devel Mon Mar 17 12:48:30 2008 From: Lubos Lunak Date: Mon, 17 Mar 2008 12:48:30 +0000 To: kde-core-devel Subject: Re: Mixing KDE3 and KDE4 Message-Id: <200803171348.30142.l.lunak () suse ! cz> X-MARC-Message: https://marc.info/?l=kde-core-devel&m=120575832328936 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 path. -- Lubos Lunak KDE developer -------------------------------------------------------------- SUSE LINUX, s.r.o. e-mail: l.lunak@suse.cz , l.lunak@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