Preferred & Startup applications gone?

Kevin Kofler kevin.kofler at chello.at
Tue Feb 8 08:51:02 UTC 2011


Bastien Nocera wrote:

> On Fri, 2011-02-04 at 08:52 +0100, Kevin Kofler wrote:
>> Adam Williamson wrote:
>> > it's a design feature, we are told. the intent is that applications
>> > should offer the option to set themselves as the default, instead of
>> > the desktop providing a central config point.
>> 
>> To the GNOME developers (Adam, I know you are just the messenger):
>> 
>> This is very broken. You cannot expect non-GNOME applications to support
>> setting themselves as the default in GNOME. (For example, if you want to
>> use, say, Konqueror as your default browser, how would you set that?
>> Konqueror obviously does not support GNOME preferences.)
> 
> There's no GNOME preferences involved. Make sure Konqueror sets itself
> as the handler for x-scheme-handler/http (and https) and you're done.
> 
>> Plus, we have seen where leaving this to the applications leads to on
>> Window$: applications fight for being the default and the user never gets
>> asked! Instead, merely running an app will change his/her file
>> associations, leading to a ping-pong effect. Please do not head down that
>> road!
> 
> We're talking about browsers and mailers. Browsers already do that.

KDE doesn't use x-scheme-handler for browsers at all. Instead, it has a 
Default Components setting (very similar to GNOME 2's Preferred 
Applications) where, for the browser, you can set it up to use the program 
associated with the text/html file type (the default setting) or to use a 
specific browser. (In fact, this was added in KDE 4, modeled on the GNOME 2 
dialog. In KDE 3, it was hardcoded to always use the text/html file 
association as a browser.)

In Fedora, the default text/html handler for KDE is set in
/usr/share/kde-settings/kde-profile/default/share/applications/defaults.list
with the following line:
text/html=kde4-konqueror.desktop;
We patch the startkde script to set XDG_DATA_DIRS so this setting is also 
seen by non-KDE applications.

None of the browser packages I have installed override this setting. If I 
want to change it, I have to either change the priorities for text/html in 
the file associations or force a default browser in Default Components in 
KDE's System Settings (or both).

See line 286 of:
http://quickgit.kde.org/?p=kdelibs.git&a=blob&h=c86a77b02f5bbcc3f357042afb6c6d1cb4bdcb2a&hb=e737ed00d8782d82559d8a9ef9d3bef56ced0b49&f=kdecore/kernel/ktoolinvocation_x11.cpp
for how this is implemented in KDE. (You'll notice that, when not running 
the KDE Plasma Workspace, kdelibs will use xdg-open if installed, so GNOME's 
way of handling URLs, including x-scheme-handler, will be used in that 
case.)

As of KDE 4.6, KDE now supports x-scheme-handler for the things KDE's old 
protocol handler scheme is used for, but that isn't quite the same thing as 
what GNOME uses it for.

        Kevin Kofler



More information about the devel mailing list