Extended handling of magnet links

Albert Astals Cid aacid at kde.org
Mon May 18 12:42:14 BST 2015

El Dissabte, 16 de maig de 2015, a les 21:31:49, Vladimir Perepechin va 
> Hi everyone :)
> I was thinking about implementing my idea
> https://forum.kde.org/viewtopic.php?f=83&t=126352 .
> While digging sources i've understand that my idea was incorrect, and there
> is nothing to do with kio_magnet.

I tried running that forum page and this email and still i am not sure what 
you want to do, so let me do a quick question.

Do you want to open magnet:/ urls with different apps? What's the use case?


> My second thought was to store any additional info in mimeinfo while
> detecting it from url, but after more digging i came to mime subclasses.
> In fact,  i understand that x-scheme-handler is very simple in the way how
> it determines, but i've tried to add subclass for it ad it works like for
> any other mime-types.
> The only problem is: KRun dosn't looking into mime-database when working
> with x-scheme-handlers. So i came here with  the following proposition.
> Extend schemeHandler function of KRun.
> 1) we are looking for all mime-types that statrs with x-scheme-handler and
> has base handler in a parentMimeTypes.
> 2)If we found such mime-type - check url against globPatterns of found
> mime-type.
> 3) So, if we found subclassed mime-type for our url - try to find preferred
> service for it. if no preferred service was found - looking for preferred
> service for our base mime-type (as it was done before)
> So, it will be something like this: http://pastebin.com/Wgni5iBP
> I'm not a c++ coder, so this isn't most optimized solution, but it shows
> the idea.
> Next step:
> Just ship xml with magnet url subclass with ktorrent:
> http://pastebin.com/4crCJRLZ
> And add x-scheme-handler/x-magnet-btih to ktorrent.desktop MimeType list.
> Doing similar with other magnet handlers (like dcpp) will allow us to
> separate magnet handling by appropriate application.
> So, what do u think? Is this idea wrong? Any other ideas?

More information about the kde-core-devel mailing list