Bug 83178

Summary: KApplication::invokeBrowser() should use KRun instead of kfmclient
Product: [Frameworks and Libraries] kdelibs Reporter: Kevin Krammer <krammer>
Component: generalAssignee: Stephan Kulow <coolo>
Status: RESOLVED FIXED    
Severity: minor CC: faure, ingmar, jmbsvicetto
Priority: LO    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:

Description Kevin Krammer 2004-06-10 22:14:05 UTC
Version:            (using KDE Devel)
Installed from:    Compiled sources

Following a user report on the kde mailinglist
http://lists.kde.org/?l=kde&m=108640700517262&w=2

I looked through the code of KAboutDialog and discovered that it uses KApplication::invokeBrowser, while, if IIRC, KMail uses KRun.
Studying the code for invokeBrowser it seems that it uses kfmclient to open the given URL.

I think invokeBrowser() should use KRun instead of runtime-depend on an executable from kdebase (which is not required to be installed AFAIK)

Thanks,
Kevin
Comment 1 Carsten Lohrke 2007-11-30 13:57:07 UTC
This is still a problem in trunk...
Comment 2 Erlend Davidson 2007-12-27 13:11:09 UTC
I think another issue with this from the user's perspective, is that it pretty much prevents users from another desktop from using popular applications (like digikam, well kipi-plugins).

If kipi-plugins needs the kfmclient, which is part of the konqueror file manager... then just to install a popular plugin to a photo-management program the user needs to install pretty much the whole of KDE.
Comment 3 Jorge Manuel B. S. Vicetto 2008-12-07 13:14:39 UTC
Are there any plans to address this report?
Comment 4 Kevin Krammer 2008-12-07 13:44:00 UTC
A similar issue has recently be disucssed on kde-core-devel
http://lists.kde.org/?t=122710352700002&r=1&w=2

KRun cannot be used directly since it is in the KIO library and the invoke method is "below" that.

Probably won't be fixed for KDE3.5 but as far as I understand the discussion there are a couple of options and somebody does have look at them
Comment 5 David Faure 2008-12-15 23:43:03 UTC
Fixed in r896218 (will be in kde-4.2). Now invokeBrowser uses
kfmclient or xdg-open or kde-open (in a KDE session),
and xdg-open or kfmclient or kde-open (out of a KDE session),
where "or" means "or, if that is not available".