[Location Runner] Also explicitly look for URL scheme handlers
KProtocolInfo handles only protocols KIO knows but apps can also register to be a URL scheme handler independently of this.
This patch makes the location runner also query for the preferred URL scheme handler when no known protocol is found. It also prefers the scheme handler over the helper protocol since a service has a name.
While at it, also format the protocol "exec" using DesktopExecParser to avoid showing placeholders like '%u' to the user. Also use PreferLocalFile for "go to".
- Pasted an
rtmp:/
URL, now got offered to open int with VLC - Typing
ssh://localhost
offers to open a terminal window with SSH - Pasting a spotify URL offers to open with Spotify
-
http://www.example.com
still goes the old way - Typing
~/foo
still works - Typing
~/nonexistant
now showsGo to "/home/kaiuwe/nonexistant"
rather thanGo to "file:///home/kaiuwe/nonexistant"
- Happens to fix
mailto
but merely because Thunderbird is a mailto protocol handler, the underlying URI filter orKProtocolInfo
bug is still there - Typing
vnc:/foo
now showsLaunch with krdc
instead ofLaunch with krdc '%u'
This helper protocol stuff sounds like something that was around before we had standard scheme handlers? :)
Edited by Kai Uwe Broulik