<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - xdg-open fails on encountering a list for x-scheme-handler"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=44163#c2">Comment # 2</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - xdg-open fails on encountering a list for x-scheme-handler"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=44163">bug 44163</a>
              from <span class="vcard"><a class="email" href="mailto:wbauer@tmo.at" title="Wolfgang Bauer <wbauer@tmo.at>"> <span class="fn">Wolfgang Bauer</span></a>
</span></b>
        <pre>I stumbled over the same problem when trying to reproduce a bug filed at
openSUSE's bugzilla (<a href="https://bugzilla.opensuse.org/show_bug.cgi?id=979265">https://bugzilla.opensuse.org/show_bug.cgi?id=979265</a>),
i.e. the same problem exists when trying to open a folder with xdg-open (e.g.
"xdg-open ." as in this specific openSUSE bugreport).

I don't think patching xdg-open is the proper solution though.
IMHO, "xdg-mime query default xxx" should not return the ';' (or the whole line
actually, including all listed applications) in the first place, it doesn't
when run inside a KDE session.

To demonstrate the problem more clearly:
Say, mimeapps.list contains this:
[Default Applications]
inode/directory=kde4-krusader.desktop;

Inside a KDE session "xdg-mime query default inode/directory" returns
"krusader.desktop".
In IceWM e.g. (i.e. when the generic path is taken) it's
"kde4-krusader.desktop;" instead, on which xdg-open chokes then.

The problem is even more obvious if you add a second application to the default
applications line, as explicitly mentioned in the specification
(<a href="https://specifications.freedesktop.org/mime-apps-spec/latest/ar01s04.html">https://specifications.freedesktop.org/mime-apps-spec/latest/ar01s04.html</a>):
[Default Applications]
inode/directory=kde4-krusader.desktop;kde4-dolphin.desktop;

Inside KDE, xdg-mime still returns "krusader.desktop", but the generic version
returns the whole line, "kde4-krusader.desktop;kde4-dolphin.desktop;"

Apparently the correct behavior would be to check the specified desktop files
in the order specified and return only the first one that actually exists (this
is how it behaves inside a KDE session).
But it would help already if it would just strip everything after (and
including) the first semicolon I suppose.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>