I posted this on the forums once, but nothing turned up except one confirmation: http://forums.gentoo.org/viewtopic-t-513989.html
As this is still an issue in latest boinc-5.8.15, I now report it as a bug.
I encountered this when running boinc_gui. Clicking on one of the Buttons in the advanced window that should open a project specific URL I only got a message on stderr:
"execvp(epiphany, http://boinc.bakerlab.org/rosetta/) failed with error 2!"
This makes sense, as I don't have epiphany installed. I've set USE=-gnome usually, as I'm using KDE mainly. Question was, why does boinc_gui think it should use epiphany to open such URLs. I traced the problem through the boinc sources and came up with some code in boinc-5.2.14/clientgui/hyperlink.cpp that looks up the wxWidgets Mime Type information for text/html (using wxMimeTypesManager) to figure out the browser. Strange approach, but I can understand why this should still work in most cases.
Next I took the mimimal sample from the wxGTK-2.6.3 sources and tweaked it to replicate the function from boinc_gui. Same result, so it's nothing boinc-specific, but at least common to all wxWidgets apps. Looking at the wxGTK sources was none too helpful, except I found that there should be some support for KDE as well.
More useful was an strace of this tweaked application. I found out that the string "epiphany" was read only from /usr/share/mime-info/gnome-vfs.keys where it is in fact given for text/html. My KDE file associations don't mention epiphany.
Is this a problem with wxGTK that causes Gnome information to take precedence over KDE no matter what the user actually uses?
Is the presence of an unconfigured gnome-vfs.keys file a bad configuration that could somehow be avoided?
Is there some simple switch somewhere to choose whether to use Gnome or KDE Mime info?
Is there some way to make all my KDE bindings available to Gnome VFS aware apps as well?
This whole setup as it is is does not work out of the box, and making it do so would be a nice thing.
Why is this bug restricted to gentoo devs?
And wxGTK 2.6 has no code for detecting if KDE is running. 2.8 has something, even though I don't agree on MIME stuff depending on running desktop for a GTK+ using application for various reasons.
(In reply to comment #1)
> Why is this bug restricted to gentoo devs?
Is that the "Group" setting? I see no UI element for it here in bugzilla.
Group=gentoo-dev was set by rane when the bug was assigned from bug-wranglers to cryos. I see no reason for a restriction, but don't think I can remove it.
> And wxGTK 2.6 has no code for detecting if KDE is running. 2.8 has something,
If there was an ebuild for 2.8, I might give this a try.
> even though I don't agree on MIME stuff depending on running desktop for a
> GTK+ using application for various reasons.
The desktop stuff is whats probably easiest to configure, at least for the running desktop. For me personally the BROWSER environment variable would bee good enough, but I don't think this is true for everybody.
(In reply to comment #2)
> (In reply to comment #1)
> > Why is this bug restricted to gentoo devs?
> Is that the "Group" setting? I see no UI element for it here in bugzilla.
> Group=gentoo-dev was set by rane when the bug was assigned from bug-wranglers
> to cryos. I see no reason for a restriction, but don't think I can remove it.
Ok, removed it then.
> > even though I don't agree on MIME stuff depending on running desktop for a
> > GTK+ using application for various reasons.
> The desktop stuff is whats probably easiest to configure, at least for the
> running desktop. For me personally the BROWSER environment variable would bee
> good enough, but I don't think this is true for everybody.
My two main points against dynamic desktop environment detection and then making behaviour depend on it are:
a) There is no uniform way of detecting what desktop is actually running, so 2.8 now tries to find out what desktops session manager is running by parsing the name that it sets on some X root window - GnomeSM in gnome-session's case in current gnome-session versions. This is a guess that the rest is also that environment then, which is probably a good one but not 100% guaranteed
b) The application uses gtk+ libraries, and looks like GTK+. Doing things different in case of KDE session manager running means that wx apps (that look like gtk+ apps because they use gtk) use KDE MIME type system, while all the remaining pure gtk+/gnome apps use GNOME/gtk settings for this. This leads to confusion.
Anyhow, that's that.
Hopefully we can get 2.8 in the tree later this month or beginning next month but I can't give any promises at this point seeing as how these have turned out before :(
wxGTK-2.8 is already in tree
# ChangeLog for sci-misc/boinc
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/sci-misc/boinc/ChangeLog,v 1.45 2009/01/02 20:40:21 cryos Exp $
02 Jan 2009; Marcus D. Hanwell <firstname.lastname@example.org> metadata.xml:
Removed myself as maintainer.
Guys why is this assigned to me (as boinc maintainer).
To my untrained widgets eye it looks more like wxwidgets issue.
Please report/retry this behavior with boinc 6.2.14 or newer which uses wxwidgets-2.8