Closed Bug 529511 Opened 15 years ago Closed 15 years ago

unable to setup correctly a new nework.protocol.handler via user.js or prf.js or about:config directly

Categories

(Core Graveyard :: File Handling, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: thierry.volpiatto, Unassigned)

Details

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5

Hi,
i can't setup a network.protocol.handler via about:config or user.js.

I have always this message: (in french)

,----
| Firefox doesn't know how to open this address,
| because the protocol (emacsbookmark) isn't associated with any program.
`----

However, i finish to setup that with success by modifying manually the file:

mimeTypes.rdf

But i don't think i have to do that.
Users that will use my application should be able to setup a protocol handler
easily from about:config with intructions.

Details:

The goal is to bookmark a page from firefox in standard Emacs bookmarks.

What i do:

1) i setup a bookmarklet called emacsbookmark:

,----
| javascript:location.href='emacsbookmark://' + location.href + '::emacsbookmark::' + escape(document.title)
`----

2) I add protocol handlers from my user.js:

,----
| user_pref("network.protocol-handler.external.emacsbookmark", true);
| user_pref("network.protocol-handler.app.emacsbookmark", "/home/thierry/bin/emacsbookmark");
`----

3) i modify mimeTypes.rdf (i will try to attach this file).

So when i don't do 3, i have error:

,----
| Firefox doesn't know how to open this address,
| because the protocol (lastfm) isn't associated with any program.
`----

After step 3, i am able to bookmark in emacs from firefox.
(See http://www.emacswiki.org/cgi-bin/emacs/BookmarkExtension)

But i think i have not to do that.Things should be more simple as they were
if i remember well in firefox version < 3.

Did i miss something?

Thanks.


Reproducible: Always

Steps to Reproduce:
1. Create a new protocol from user.js or pref.js or about:config:

,----
| user_pref("network.protocol-handler.external.emacsbookmark", true);
| user_pref("network.protocol-handler.app.emacsbookmark", "/home/thierry/bin/emacsbookmark");
`----

2. Create a script "/home/thierry/bin/emacsbookmark" (or whatever path you want)

,----
| if [ -z "$1" ]; then
|     echo "$0: Error: no arguments given!" 1>&2
|     exit 1
| fi
| 
| # To test uncomment following line
| echo $1 $(date) >> /tmp/bmkext.out
`----

3. Create a bookmarklet:(emacsbookmark)

,----
| javascript:location.href='emacsbookmark://' + location.href + '::emacsbookmark::' + escape(document.title)
`----

Restart firefox and click on bookmarklet:
You will have error:

,----
| Firefox doesn't know how to open this address,
| because the protocol (lastfm) isn't associated with any program.
`----

Actual Results:  
Firefox doesn't know how to open this address,
because the protocol (lastfm) isn't associated with any program.


Expected Results:  
You should have something in /tmp/bmkext.out


I have to modify mimeTypes.rdf:

<?xml version="1.0"?>
<RDF:RDF xmlns:NC="http://home.netscape.com/NC-rdf#"
         xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <RDF:Description RDF:about="urn:mimetype:externalApplication:application/force-download"
                   NC:prettyName=""
                   NC:path="" />
  <RDF:Description RDF:about="urn:scheme:handler:webcal"
                   NC:alwaysAsk="true">
    <NC:possibleApplication RDF:resource="urn:handler:web:http://30boxes.com/external/widget?refer=ff&amp;url=%s"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:handler:web:http://30boxes.com/external/widget?refer=ff&amp;url=%s"
                   NC:prettyName="30 Boxes"
                   NC:uriTemplate="http://30boxes.com/external/widget?refer=ff&amp;url=%s" />
  <RDF:Description RDF:about="urn:handler:web:http://compose.mail.yahoo.com/?To=%s"
                   NC:prettyName="Yahoo! Mail"
                   NC:uriTemplate="http://compose.mail.yahoo.com/?To=%s" />
  <RDF:Description RDF:about="urn:schemes">
    <NC:Protocol-Schemes RDF:resource="urn:schemes:root"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:mimetype:application/force-download"
                   NC:fileExtensions="pdf"
                   NC:description=""
                   NC:value="application/force-download"
                   NC:editable="true">
    <NC:handlerProp RDF:resource="urn:mimetype:handler:application/force-download"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:root"
                   NC:fr_defaultHandlersVersion="2"
                   NC:en-US_defaultHandlersVersion="3" />
  <RDF:Description RDF:about="urn:scheme:webcal"
                   NC:value="webcal">
    <NC:handlerProp RDF:resource="urn:scheme:handler:webcal"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:mimetype:application/pdf"
                   NC:fileExtensions="pdf"
                   NC:description=""
                   NC:value="application/pdf"
                   NC:editable="true">
    <NC:handlerProp RDF:resource="urn:mimetype:handler:application/pdf"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:scheme:externalApplication:annotation"
                   NC:prettyName="remember"
                   NC:path="/home/thierry/bin/remember" />
  <RDF:Description RDF:about="urn:scheme:externalApplication:emacsbookmark"
                   NC:prettyName="emacsbookmark"
                   NC:path="/home/thierry/bin/emacsbookmark" />
  <RDF:Description RDF:about="urn:mimetype:externalApplication:application/pdf"
                   NC:prettyName=""
                   NC:path="" />
  <RDF:Description RDF:about="urn:mimetype:handler:application/x-tar"
                   NC:alwaysAsk="true"
                   NC:saveToDisk="true">
    <NC:externalApplication RDF:resource="urn:mimetype:externalApplication:application/x-tar"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:handler:local:/home/thierry/bin/call-gnus.sh"
                   NC:prettyName="call-gnus.sh"
                   NC:path="/home/thierry/bin/call-gnus.sh" />
  <RDF:Description RDF:about="urn:scheme:ircs"
                   NC:value="ircs">
    <NC:handlerProp RDF:resource="urn:scheme:handler:ircs"/>
  </RDF:Description>
  <RDF:Seq RDF:about="urn:mimetypes:root">
    <RDF:li RDF:resource="urn:mimetype:audio/x-scpls"/>
    <RDF:li RDF:resource="urn:mimetype:application/force-download"/>
    <RDF:li RDF:resource="urn:mimetype:application/x-tar"/>
    <RDF:li RDF:resource="urn:mimetype:application/pdf"/>
    <RDF:li RDF:resource="urn:mimetype:application/postscript"/>
  </RDF:Seq>
  <RDF:Description RDF:about="urn:mimetype:handler:audio/x-scpls"
                   NC:alwaysAsk="false"
                   NC:useSystemDefault="true">
    <NC:externalApplication RDF:resource="urn:mimetype:externalApplication:audio/x-scpls"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:mimetype:externalApplication:audio/x-scpls"
                   NC:prettyName=""
                   NC:path="" />
  <RDF:Description RDF:about="urn:scheme:irc"
                   NC:value="irc">
    <NC:handlerProp RDF:resource="urn:scheme:handler:irc"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:mimetype:application/x-tar"
                   NC:value="application/x-tar"
                   NC:editable="true"
                   NC:fileExtensions="tar"
                   NC:description="">
    <NC:handlerProp RDF:resource="urn:mimetype:handler:application/x-tar"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:scheme:handler:mailto"
                   NC:alwaysAsk="false">
    <NC:possibleApplication RDF:resource="urn:handler:web:https://mail.google.com/mail/?extsrc=mailto&amp;url=%s"/>
    <NC:possibleApplication RDF:resource="urn:handler:web:http://compose.mail.yahoo.com/?To=%s"/>
    <NC:possibleApplication RDF:resource="urn:handler:local:/home/thierry/bin/call-gnus.sh"/>
    <NC:externalApplication RDF:resource="urn:scheme:externalApplication:mailto"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:scheme:handler:irc"
                   NC:alwaysAsk="true">
    <NC:possibleApplication RDF:resource="urn:handler:web:https://www.mibbit.com/?url=%s"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:scheme:mailto"
                   NC:value="mailto">
    <NC:handlerProp RDF:resource="urn:scheme:handler:mailto"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:mimetype:application/postscript"
                   NC:value="application/postscript"
                   NC:editable="true"
                   NC:description="">
    <NC:fileExtensions>ps</NC:fileExtensions>
    <NC:fileExtensions>ai</NC:fileExtensions>
    <NC:fileExtensions>eps</NC:fileExtensions>
    <NC:handlerProp RDF:resource="urn:mimetype:handler:application/postscript"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:scheme:externalApplication:remember"
                   NC:prettyName="remember"
                   NC:path="/home/thierry/bin/remember" />
  <RDF:Description RDF:about="urn:scheme:handler:annotation"
                   NC:alwaysAsk="false">
    <NC:possibleApplication RDF:resource="urn:handler:local:/home/thierry/bin/remember"/>
    <NC:externalApplication RDF:resource="urn:scheme:externalApplication:annotation"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:scheme:externalApplication:emacsbookmark"
                   NC:prettyName="emacsbookmark"
                   NC:path="/home/thierry/bin/emacsbookmark" />
  <RDF:Description RDF:about="urn:scheme:handler:emacsbookmark"
                   NC:alwaysAsk="false">
    <NC:possibleApplication RDF:resource="urn:handler:local:/home/thierry/bin/emacsbookmark"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:handler:web:https://mail.google.com/mail/?extsrc=mailto&amp;url=%s"
                   NC:prettyName="Gmail"
                   NC:uriTemplate="https://mail.google.com/mail/?extsrc=mailto&amp;url=%s" />
  <RDF:Description RDF:about="urn:mimetype:handler:application/pdf"
                   NC:alwaysAsk="true"
                   NC:saveToDisk="true"
                   NC:useSystemDefault="false">
    <NC:externalApplication RDF:resource="urn:mimetype:externalApplication:application/pdf"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:scheme:externalApplication:mailto"
                   NC:prettyName="call-gnus.sh"
                   NC:path="/home/thierry/bin/call-gnus.sh" />
  <RDF:Description RDF:about="urn:mimetypes">
    <NC:MIME-types RDF:resource="urn:mimetypes:root"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:scheme:handler:remember"
                   NC:alwaysAsk="false">
    <NC:possibleApplication RDF:resource="urn:handler:local:/home/thierry/bin/remember"/>
    <NC:externalApplication RDF:resource="urn:scheme:externalApplication:remember"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:mimetype:handler:application/postscript"
                   NC:alwaysAsk="true"
                   NC:saveToDisk="true">
    <NC:externalApplication RDF:resource="urn:mimetype:externalApplication:application/postscript"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:handler:web:https://www.mibbit.com/?url=%s"
                   NC:prettyName="Mibbit"
                   NC:uriTemplate="https://www.mibbit.com/?url=%s" />
  <RDF:Seq RDF:about="urn:schemes:root">
    <RDF:li RDF:resource="urn:scheme:mailto"/>
    <RDF:li RDF:resource="urn:scheme:webcal"/>
    <RDF:li RDF:resource="urn:scheme:remember"/>
    <RDF:li RDF:resource="urn:scheme:annotation"/>
    <RDF:li RDF:resource="urn:scheme:emacsbookmark"/>
    <RDF:li RDF:resource="urn:scheme:irc"/>
    <RDF:li RDF:resource="urn:scheme:ircs"/>
  </RDF:Seq>
  <RDF:Description RDF:about="urn:handler:local:/home/thierry/bin/remember"
                   NC:prettyName="remember"
                   NC:path="/home/thierry/bin/remember" />
  <RDF:Description RDF:about="urn:handler:local:/home/thierry/bin/emacsbookmark"
                   NC:prettyName="emacsbookmark"
                   NC:path="/home/thierry/bin/emacsbookmark" />
  <RDF:Description RDF:about="urn:mimetype:audio/x-scpls"
                   NC:value="audio/x-scpls"
                   NC:editable="true"
                   NC:fileExtensions="pls"
                   NC:description="">
    <NC:handlerProp RDF:resource="urn:mimetype:handler:audio/x-scpls"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:mimetype:handler:application/force-download"
                   NC:alwaysAsk="true"
                   NC:useSystemDefault="true"
                   NC:saveToDisk="false">
    <NC:externalApplication RDF:resource="urn:mimetype:externalApplication:application/force-download"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:scheme:annotation"
                   NC:value="annotation">
    <NC:handlerProp RDF:resource="urn:scheme:handler:annotation"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:scheme:remember"
                   NC:value="remember">
    <NC:handlerProp RDF:resource="urn:scheme:handler:remember"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:scheme:emacsbookmark"
                   NC:value="emacsbookmark">
    <NC:handlerProp RDF:resource="urn:scheme:handler:emacsbookmark"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:mimetype:externalApplication:application/x-tar"
                   NC:prettyName=""
                   NC:path="" />
  <RDF:Description RDF:about="urn:scheme:handler:ircs"
                   NC:alwaysAsk="true">
    <NC:possibleApplication RDF:resource="urn:handler:web:https://www.mibbit.com/?url=%s"/>
  </RDF:Description>
</RDF:RDF>
Component: Build Config → Networking
Product: Firefox → Core
QA Contact: build.config → networking
(In reply to comment #0)
> User-Agent:       Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.1.5)
> Gecko/20091102 Firefox/3.5.5
> Build Identifier: Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.1.5)
> Gecko/20091102 Firefox/3.5.5
> 
> Hi,
> i can't setup a network.protocol.handler via about:config or user.js.
> 
> I have always this message: (in french)
> 
> ,----
> | Firefox doesn't know how to open this address,
> | because the protocol (emacsbookmark) isn't associated with any program.
> `----
> 
> However, i finish to setup that with success by modifying manually the file:
> 
> mimeTypes.rdf
> 
> But i don't think i have to do that.
> Users that will use my application should be able to setup a protocol handler
> easily from about:config with intructions.
> 
> Details:
> 
> The goal is to bookmark a page from firefox in standard Emacs bookmarks.
> 
> What i do:
> 
> 1) i setup a bookmarklet called emacsbookmark:
> 
> ,----
> | javascript:location.href='emacsbookmark://' + location.href +
> '::emacsbookmark::' + escape(document.title)
> `----
> 
> 2) I add protocol handlers from my user.js:
> 
> ,----
> | user_pref("network.protocol-handler.external.emacsbookmark", true);
> | user_pref("network.protocol-handler.app.emacsbookmark",
> "/home/thierry/bin/emacsbookmark");
> `----
> 
> 3) i modify mimeTypes.rdf (i will try to attach this file).
> 
> So when i don't do 3, i have error:
> 
> ,----
> | Firefox doesn't know how to open this address,
> | because the protocol (lastfm) isn't associated with any program.
> `----
> 
> After step 3, i am able to bookmark in emacs from firefox.
> (See http://www.emacswiki.org/cgi-bin/emacs/BookmarkExtension)
> 
> But i think i have not to do that.Things should be more simple as they were
> if i remember well in firefox version < 3.
> 
> Did i miss something?
> 
> Thanks.
> 
> 
> Reproducible: Always
> 
> Steps to Reproduce:
> 1. Create a new protocol from user.js or pref.js or about:config:
> 
> ,----
> | user_pref("network.protocol-handler.external.emacsbookmark", true);
> | user_pref("network.protocol-handler.app.emacsbookmark",
> "/home/thierry/bin/emacsbookmark");
> `----
> 
> 2. Create a script "/home/thierry/bin/emacsbookmark" (or whatever path you
> want)
> 
> ,----
> | if [ -z "$1" ]; then
> |     echo "$0: Error: no arguments given!" 1>&2
> |     exit 1
> | fi
> | 
> | # To test uncomment following line
> | echo $1 $(date) >> /tmp/bmkext.out
> `----
> 
> 3. Create a bookmarklet:(emacsbookmark)
> 
> ,----
> | javascript:location.href='emacsbookmark://' + location.href +
> '::emacsbookmark::' + escape(document.title)
> `----
> 
> Restart firefox and click on bookmarklet:
> You will have error:
> 
> ,----
> | Firefox doesn't know how to open this address,
> | because the protocol (lastfm) isn't associated with any program.
> `----
> 
> Actual Results:  
> Firefox doesn't know how to open this address,
> because the protocol (lastfm) isn't associated with any program.
> 
> 
> Expected Results:  
> You should have something in /tmp/bmkext.out
> 
> 
> I have to modify mimeTypes.rdf:
> 
> <?xml version="1.0"?>
> <RDF:RDF xmlns:NC="http://home.netscape.com/NC-rdf#"
>          xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
>   <RDF:Description
> RDF:about="urn:mimetype:externalApplication:application/force-download"
>                    NC:prettyName=""
>                    NC:path="" />
>   <RDF:Description RDF:about="urn:scheme:handler:webcal"
>                    NC:alwaysAsk="true">
>     <NC:possibleApplication
> RDF:resource="urn:handler:web:http://30boxes.com/external/widget?refer=ff&amp;url=%s"/>
>   </RDF:Description>
>   <RDF:Description
> RDF:about="urn:handler:web:http://30boxes.com/external/widget?refer=ff&amp;url=%s"
>                    NC:prettyName="30 Boxes"
>                   
> NC:uriTemplate="http://30boxes.com/external/widget?refer=ff&amp;url=%s" />
>   <RDF:Description
> RDF:about="urn:handler:web:http://compose.mail.yahoo.com/?To=%s"
>                    NC:prettyName="Yahoo! Mail"
>                    NC:uriTemplate="http://compose.mail.yahoo.com/?To=%s" />
>   <RDF:Description RDF:about="urn:schemes">
>     <NC:Protocol-Schemes RDF:resource="urn:schemes:root"/>
>   </RDF:Description>
>   <RDF:Description RDF:about="urn:mimetype:application/force-download"
>                    NC:fileExtensions="pdf"
>                    NC:description=""
>                    NC:value="application/force-download"
>                    NC:editable="true">
>     <NC:handlerProp
> RDF:resource="urn:mimetype:handler:application/force-download"/>
>   </RDF:Description>
>   <RDF:Description RDF:about="urn:root"
>                    NC:fr_defaultHandlersVersion="2"
>                    NC:en-US_defaultHandlersVersion="3" />
>   <RDF:Description RDF:about="urn:scheme:webcal"
>                    NC:value="webcal">
>     <NC:handlerProp RDF:resource="urn:scheme:handler:webcal"/>
>   </RDF:Description>
>   <RDF:Description RDF:about="urn:mimetype:application/pdf"
>                    NC:fileExtensions="pdf"
>                    NC:description=""
>                    NC:value="application/pdf"
>                    NC:editable="true">
>     <NC:handlerProp RDF:resource="urn:mimetype:handler:application/pdf"/>
>   </RDF:Description>
>   <RDF:Description RDF:about="urn:scheme:externalApplication:annotation"
>                    NC:prettyName="remember"
>                    NC:path="/home/thierry/bin/remember" />
>   <RDF:Description RDF:about="urn:scheme:externalApplication:emacsbookmark"
>                    NC:prettyName="emacsbookmark"
>                    NC:path="/home/thierry/bin/emacsbookmark" />
>   <RDF:Description RDF:about="urn:mimetype:externalApplication:application/pdf"
>                    NC:prettyName=""
>                    NC:path="" />
>   <RDF:Description RDF:about="urn:mimetype:handler:application/x-tar"
>                    NC:alwaysAsk="true"
>                    NC:saveToDisk="true">
>     <NC:externalApplication
> RDF:resource="urn:mimetype:externalApplication:application/x-tar"/>
>   </RDF:Description>
>   <RDF:Description RDF:about="urn:handler:local:/home/thierry/bin/call-gnus.sh"
>                    NC:prettyName="call-gnus.sh"
>                    NC:path="/home/thierry/bin/call-gnus.sh" />
>   <RDF:Description RDF:about="urn:scheme:ircs"
>                    NC:value="ircs">
>     <NC:handlerProp RDF:resource="urn:scheme:handler:ircs"/>
>   </RDF:Description>
>   <RDF:Seq RDF:about="urn:mimetypes:root">
>     <RDF:li RDF:resource="urn:mimetype:audio/x-scpls"/>
>     <RDF:li RDF:resource="urn:mimetype:application/force-download"/>
>     <RDF:li RDF:resource="urn:mimetype:application/x-tar"/>
>     <RDF:li RDF:resource="urn:mimetype:application/pdf"/>
>     <RDF:li RDF:resource="urn:mimetype:application/postscript"/>
>   </RDF:Seq>
>   <RDF:Description RDF:about="urn:mimetype:handler:audio/x-scpls"
>                    NC:alwaysAsk="false"
>                    NC:useSystemDefault="true">
>     <NC:externalApplication
> RDF:resource="urn:mimetype:externalApplication:audio/x-scpls"/>
>   </RDF:Description>
>   <RDF:Description RDF:about="urn:mimetype:externalApplication:audio/x-scpls"
>                    NC:prettyName=""
>                    NC:path="" />
>   <RDF:Description RDF:about="urn:scheme:irc"
>                    NC:value="irc">
>     <NC:handlerProp RDF:resource="urn:scheme:handler:irc"/>
>   </RDF:Description>
>   <RDF:Description RDF:about="urn:mimetype:application/x-tar"
>                    NC:value="application/x-tar"
>                    NC:editable="true"
>                    NC:fileExtensions="tar"
>                    NC:description="">
>     <NC:handlerProp RDF:resource="urn:mimetype:handler:application/x-tar"/>
>   </RDF:Description>
>   <RDF:Description RDF:about="urn:scheme:handler:mailto"
>                    NC:alwaysAsk="false">
>     <NC:possibleApplication
> RDF:resource="urn:handler:web:https://mail.google.com/mail/?extsrc=mailto&amp;url=%s"/>
>     <NC:possibleApplication
> RDF:resource="urn:handler:web:http://compose.mail.yahoo.com/?To=%s"/>
>     <NC:possibleApplication
> RDF:resource="urn:handler:local:/home/thierry/bin/call-gnus.sh"/>
>     <NC:externalApplication
> RDF:resource="urn:scheme:externalApplication:mailto"/>
>   </RDF:Description>
>   <RDF:Description RDF:about="urn:scheme:handler:irc"
>                    NC:alwaysAsk="true">
>     <NC:possibleApplication
> RDF:resource="urn:handler:web:https://www.mibbit.com/?url=%s"/>
>   </RDF:Description>
>   <RDF:Description RDF:about="urn:scheme:mailto"
>                    NC:value="mailto">
>     <NC:handlerProp RDF:resource="urn:scheme:handler:mailto"/>
>   </RDF:Description>
>   <RDF:Description RDF:about="urn:mimetype:application/postscript"
>                    NC:value="application/postscript"
>                    NC:editable="true"
>                    NC:description="">
>     <NC:fileExtensions>ps</NC:fileExtensions>
>     <NC:fileExtensions>ai</NC:fileExtensions>
>     <NC:fileExtensions>eps</NC:fileExtensions>
>     <NC:handlerProp
> RDF:resource="urn:mimetype:handler:application/postscript"/>
>   </RDF:Description>
>   <RDF:Description RDF:about="urn:scheme:externalApplication:remember"
>                    NC:prettyName="remember"
>                    NC:path="/home/thierry/bin/remember" />
>   <RDF:Description RDF:about="urn:scheme:handler:annotation"
>                    NC:alwaysAsk="false">
>     <NC:possibleApplication
> RDF:resource="urn:handler:local:/home/thierry/bin/remember"/>
>     <NC:externalApplication
> RDF:resource="urn:scheme:externalApplication:annotation"/>
>   </RDF:Description>
>   <RDF:Description RDF:about="urn:scheme:externalApplication:emacsbookmark"
>                    NC:prettyName="emacsbookmark"
>                    NC:path="/home/thierry/bin/emacsbookmark" />
>   <RDF:Description RDF:about="urn:scheme:handler:emacsbookmark"
>                    NC:alwaysAsk="false">
>     <NC:possibleApplication
> RDF:resource="urn:handler:local:/home/thierry/bin/emacsbookmark"/>
>   </RDF:Description>
>   <RDF:Description
> RDF:about="urn:handler:web:https://mail.google.com/mail/?extsrc=mailto&amp;url=%s"
>                    NC:prettyName="Gmail"
>                   
> NC:uriTemplate="https://mail.google.com/mail/?extsrc=mailto&amp;url=%s" />
>   <RDF:Description RDF:about="urn:mimetype:handler:application/pdf"
>                    NC:alwaysAsk="true"
>                    NC:saveToDisk="true"
>                    NC:useSystemDefault="false">
>     <NC:externalApplication
> RDF:resource="urn:mimetype:externalApplication:application/pdf"/>
>   </RDF:Description>
>   <RDF:Description RDF:about="urn:scheme:externalApplication:mailto"
>                    NC:prettyName="call-gnus.sh"
>                    NC:path="/home/thierry/bin/call-gnus.sh" />
>   <RDF:Description RDF:about="urn:mimetypes">
>     <NC:MIME-types RDF:resource="urn:mimetypes:root"/>
>   </RDF:Description>
>   <RDF:Description RDF:about="urn:scheme:handler:remember"
>                    NC:alwaysAsk="false">
>     <NC:possibleApplication
> RDF:resource="urn:handler:local:/home/thierry/bin/remember"/>
>     <NC:externalApplication
> RDF:resource="urn:scheme:externalApplication:remember"/>
>   </RDF:Description>
>   <RDF:Description RDF:about="urn:mimetype:handler:application/postscript"
>                    NC:alwaysAsk="true"
>                    NC:saveToDisk="true">
>     <NC:externalApplication
> RDF:resource="urn:mimetype:externalApplication:application/postscript"/>
>   </RDF:Description>
>   <RDF:Description RDF:about="urn:handler:web:https://www.mibbit.com/?url=%s"
>                    NC:prettyName="Mibbit"
>                    NC:uriTemplate="https://www.mibbit.com/?url=%s" />
>   <RDF:Seq RDF:about="urn:schemes:root">
>     <RDF:li RDF:resource="urn:scheme:mailto"/>
>     <RDF:li RDF:resource="urn:scheme:webcal"/>
>     <RDF:li RDF:resource="urn:scheme:remember"/>
>     <RDF:li RDF:resource="urn:scheme:annotation"/>
>     <RDF:li RDF:resource="urn:scheme:emacsbookmark"/>
>     <RDF:li RDF:resource="urn:scheme:irc"/>
>     <RDF:li RDF:resource="urn:scheme:ircs"/>
>   </RDF:Seq>
>   <RDF:Description RDF:about="urn:handler:local:/home/thierry/bin/remember"
>                    NC:prettyName="remember"
>                    NC:path="/home/thierry/bin/remember" />
>   <RDF:Description
> RDF:about="urn:handler:local:/home/thierry/bin/emacsbookmark"
>                    NC:prettyName="emacsbookmark"
>                    NC:path="/home/thierry/bin/emacsbookmark" />
>   <RDF:Description RDF:about="urn:mimetype:audio/x-scpls"
>                    NC:value="audio/x-scpls"
>                    NC:editable="true"
>                    NC:fileExtensions="pls"
>                    NC:description="">
>     <NC:handlerProp RDF:resource="urn:mimetype:handler:audio/x-scpls"/>
>   </RDF:Description>
>   <RDF:Description RDF:about="urn:mimetype:handler:application/force-download"
>                    NC:alwaysAsk="true"
>                    NC:useSystemDefault="true"
>                    NC:saveToDisk="false">
>     <NC:externalApplication
> RDF:resource="urn:mimetype:externalApplication:application/force-download"/>
>   </RDF:Description>
>   <RDF:Description RDF:about="urn:scheme:annotation"
>                    NC:value="annotation">
>     <NC:handlerProp RDF:resource="urn:scheme:handler:annotation"/>
>   </RDF:Description>
>   <RDF:Description RDF:about="urn:scheme:remember"
>                    NC:value="remember">
>     <NC:handlerProp RDF:resource="urn:scheme:handler:remember"/>
>   </RDF:Description>
>   <RDF:Description RDF:about="urn:scheme:emacsbookmark"
>                    NC:value="emacsbookmark">
>     <NC:handlerProp RDF:resource="urn:scheme:handler:emacsbookmark"/>
>   </RDF:Description>
>   <RDF:Description
> RDF:about="urn:mimetype:externalApplication:application/x-tar"
>                    NC:prettyName=""
>                    NC:path="" />
>   <RDF:Description RDF:about="urn:scheme:handler:ircs"
>                    NC:alwaysAsk="true">
>     <NC:possibleApplication
> RDF:resource="urn:handler:web:https://www.mibbit.com/?url=%s"/>
>   </RDF:Description>
> </RDF:RDF>


I have pasted text to have the english comment, you will find in some place lastfm: That's wrong, please read instead:

,----
| Firefox doesn't know how to open this address,
| because the protocol (emacsbookmark) isn't associated with any program.
`----
Yeah... this functionality has intentionally been removed in bug 389732. I'm not sure what the current recommended way to do this is. You could probably set up a default application via gconf somehow.
Status: UNCONFIRMED → RESOLVED
Closed: 15 years ago
Component: Networking → File Handling
QA Contact: networking → file-handling
Resolution: --- → WONTFIX
Having your application (or an installer script) register itself with the desktop as a handler for the protocol in question is indeed the way to go.
(In reply to comment #3)
> Having your application (or an installer script) register itself with the
> desktop as a handler for the protocol in question is indeed the way to go.

Which desktop, what if there is no desktop.
Here for example i don't use gnome.

So for an installer script, we will have to write to mimeTypes.rdf.
Why Firefox is not able to read a mailcap file or a mime.types file?

For an installer script, can you give more info on what to do exactly.

Also, the doc of mozilla should be updated, the old behavior of installation of protocol handler is wrong now.
(In reply to comment #4)
> So for an installer script, we will have to write to mimeTypes.rdf.
> Why Firefox is not able to read a mailcap file or a mime.types file?

Firefox does read mailcap and mime.types. Of course that doesn't help you for specifying protocol handlers...

> Also, the doc of mozilla should be updated, the old behavior of installation of
> protocol handler is wrong now.

Which document is this?
(In reply to comment #5)

> Which document is this?

http://kb.mozillazine.org/Register_protocol
(In reply to comment #6)
> As for an installer script, try
> http://twoday.tuwien.ac.at/pub/topics/k(r)ampf+mit+dem+computer/

Ok thanks, i will have a look, but that use gconf, it seem like gconf is oriented gnome desktop.

Users of minimal desktop should be able to setup handlers without gnome tools.
(i use stumpwm window manager).

So the only way i have actually is editing the mimeTypes.rdf file.

Can you explain why Firefox upstream don't want to create a simple tool to setup that?

I am not sure a desktop oriented configuration for firefox is the good way to do.

Why the menu applications in firefox preferences is not configurable?
It's not so much a matter of "doesn't want to create a simple tool" as it is a matter of "has many higher priority items it wants to devote effort to first".  If you're interested in writing such a tool and making it available, that would be great.

You're right that the MozillaZine page should be updated with the caveat that these preferences are no longer supported.
Note that if there is no protocol handler registered for a given protocol, current versions of Firefox offer the user a dialog for configuring an executable which I would expect to work for your use case.
(In reply to comment #10)
> Note that if there is no protocol handler registered for a given protocol,
> current versions of Firefox offer the user a dialog for configuring an
> executable which I would expect to work for your use case.

No it didn't work.
I think it work when you add a protocol to a known mimetype.
In my case the protocol is unknown as mimetype, and i fall back to the message saying the protocol is not linked to any program.
(In reply to comment #9)
If i try to do such a tool, i need more infos on what to do, or links to documentation pages.
If you provide me a little road map on what to do, i could maybe make such a tool.
(In reply to comment #7)
> (In reply to comment #5)
> 
> > Which document is this?
> 
> http://kb.mozillazine.org/Register_protocol

Ah OK. Mozillazine documentation isn't official Mozilla documentation. Anyway, I fixed the document.

Note that you don't have to use Gnome for this to work. You only need to have some of its libraries installed.
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.