Type=Webapp

Giles Atkinson Giles.Atkinson at citrix.com
Wed Jan 13 10:43:42 PST 2016


Genghis,

I think it is not completely defined yet, as the handling of parameters may be more complex than it looks.  Since the desktop file will be claiming one or more URI schemes, it must be able to handle complete URIs of those schemes.  But your original proposal was to handle URI fragments, and format them into a template URI.  The template for complete URIs may need to be different to that for fragments.  I think that could be handled by allowing multiple Link lines with different substitution keys:

 [Desktop Entry]
Version=1.1
Type=Link
NoDisplay=false
Name=KiwiIRC
Comment=Chat over the Internet Relay Chat network
Link=https://irc.freedesktop.org/server/%u
Link=https://irc.freedesktop.org/handle/%s
Icon=kiwiirc
MimeType=x-scheme-handler/irc;
Actions=Nickname;Register;MOTD; #actions might be useful

Here '%s' is a fragment substitution.  The desktop software must parse the string it is given to see if it is a valid URI for a scheme that the Desktop File claims.  If so, it looks for a Link line with %u substitution.  Othersise it looks for one with %s.

It would also be good to handle ordinary MIME types and file data.  But I think that will require a new spec for a method to pass a URI and file(s) to a browser, with the files becoming default uploads if the page requests them.

Does this make sense?

Giles

-----Original Message-----
From: Genghis Khan [mailto:genghiskhan at gmx.ca] 
Sent: 11 January 2016 6:21 AM
To: Giles Atkinson
Cc: xdg at lists.freedesktop.org
Subject: Re: RE: RE: RE: Type=Webapp

Please ignore my last post.
This is what Type=Link already provides.

Giles, would you like to send an enhancement request to the
bug tracker?

> Sent: Saturday, January 09, 2016 at 2:08 PM
> From: "Genghis Khan" <genghiskhan at gmx.ca>
> To: "Giles Atkinson" <Giles.Atkinson at citrix.com>
> Cc: "xdg at lists.freedesktop.org" <xdg at lists.freedesktop.org>
> Subject: Re: RE: RE: RE: Type=Webapp
>
> Giles,
> 
> Below is a note I forgot to add in my last message.
> 
> > Sent: Thursday, January 07, 2016 at 7:57 PM
> > From: "Giles Atkinson" <Giles.Atkinson at citrix.com>
> > To: "'Genghis Khan'" <genghiskhan at gmx.ca>
> > Cc: "xdg at lists.freedesktop.org" <xdg at lists.freedesktop.org>
> > Subject: RE: RE: RE: Type=Webapp
> >
> > Genghis,
> >
> > >> That seems a good idea, but it is not clear that it needs a
> > >> new sub-type. Have you considered the alternative of
> > >> extending the Link format?
> >
> > > No, I don't think we need to extend the link format, because
> > > it is almost identical to Application type, they are both a
> > >Desktop Entry, but I could be wrong.
> >
> > What I mean is that I think the "Type=Webapp" is not needed,
> > and your example could look like this.
> >
> > [Desktop Entry]
> > Version=1.1
> > Type=Link
> > NoDisplay=true
> > Name=KiwiIRC
> > Comment=Chat over the Internet Relay Chat network
> > Link=https://irc.freedesktop.org/%u
> > Icon=kiwiirc
> > MimeType=x-scheme-handler/irc;
> > Actions=Nickname;Register;MOTD; #actions might be useful
> >
> > So what would be added is the new key "Link" that defines a
> > URI with substitution(s).The Desktop file could also contain
> > the "URL" key, to specify a separate URI to be used when no
> > parameter is passed. And Link type Desktop files can now
> > have Actions, with their own Link and URL keys.
> >
> 
> I do not know how to realize it in the est way, but please take
> into consideration, if you did not, that one might want to use
> a Webapp to handle a protocol (e.g. feed: for RSS feeds) where
> we use NoDisplay=true, and also to use a Webapp as is, which is
> a case where we *would not* use NoDisplay=true.
> 
> Examples: Chat clients and Feed Readers (TinyTinyRSS).
> 
> Sometimes, I would want to subscribe to a feed with TinyTinyRSS,
> and sometimes, I would want to check for news updates.
> 

Type=Link already does it.

> > >> I notice that the current spec does not describe the expected
> > >> behaviour of Link and Directory files at all!
> >
> > > This is not directly related to our issue, am I correct?
> >
> > Yes, I think so.
> >
> > > What is Directory file?
> >
> > A special type of Desktop file. I think it is used only with the
> > XDG Menu spec.
> >
> > Giles
> >
> > -----Original Message-----
> > From: Genghis Khan [mailto:genghiskhan at gmx.ca]
> > Sent: 07 January 2016 3:55 PM
> > To: Giles Atkinson
> > Cc: xdg at lists.freedesktop.org
> > Subject: Re: RE: RE: Type=Webapp
> >
> > Hallo,
> >
> > > Sent: Thursday, January 07, 2016 at 12:47 PM
> > > From: "Giles Atkinson" <Giles.Atkinson at citrix.com>
> > > To: "'Genghis Khan'" <genghiskhan at gmx.ca>
> > > Cc: "xdg at lists.freedesktop.org" <xdg at lists.freedesktop.org>
> > > Subject: RE: RE: Type=Webapp
> > >
> > > Genghis,
> > >
> > > > Please pardon me for being unclear.
> > >
> > > I did not think your posting unclear, but the details need
> > > to be worked out and described unambiguously before a new
> > > file sub-type can be added to the spec. The existing
> > > specification could use some improvements in this area (see
> > > below).
> > >
> >
> > Thank you. It was a note to myself ;-)
> >
> > > > I have answered to your queries, but, if you may, please
> > > > elaborate on the following part of your message:
> > >
> > > >> so is it intended purely for the "application" argument of
> > > >> "xdg-mime default"? If not, what does it do?
> > >
> > > In my (limited) experience adding a desktop file with a MimeType
> > > line does not register a new MIME data handler with the Desktop
> > > system. In fact it seems to have no effect at all. I have
> > > tested KDE, Unity and (IIRC) GNOME. To add a handler, the
> > > "xdg-mime default" must be used to associate the MIME type with
> > > the desktop file.
> > >
> >
> > Yes, indeed so. Now, I understand what you meant by "xdg-mime".
> >
> > Webapp launchers are to be included, by user demand, in:
> > defaults.list
> > mimeapps.list
> >
> > > The spec says this about the MimeType key:
> > >
> > > The MimeType key is used to indicate the MIME Types that an
> > > application knows how to handle. It is expected that for some
> > > applications this list could become long. An application is
> > > expected to be able to reasonably open files of these types using
> > > the command listed in the Exec key.
> > >
> > > There should be no priority for MIME Types in this field, or any
> > > form of priority in the desktop file. Priority for applications
> > > is handled external to the .desktop files.
> > >
> > >
> > > That suggests that there is no requirement for the key to do
> > > anything by itself.
> > >
> >
> > Desktop Entry of type Webapp, which is, eventually, a hybrid of
> > types Application and Link would certainly use "xdg-mime" as it
> > is with Application type and would behave as a Desktop Entry of
> > type Application.
> >
> > > > Indeed, there is no Exec key, only Link key, and such
> > > > launchers would be activated with a default web browser,
> > > > similarly to entries of Type=Link.
> > >
> > > >> The meaning of the Link item is unclear. The spec
> > > >> defines the %u substitution as handling a URL, but yours
> > > >> is already in the tail of a URL.
> > >
> > > > Yes, this is because I did not figure of a better way to
> > > > realize it, so I did it in a similar manner to how it is
> > > > done within web browsers with what is known as "smart
> > > > bookmarks". See http://ptaff.ca/smart/
> > >
> > > My French is not great, but if I interpreted that correctly,
> > > you are proposing nothing more than a parameterised variant
> > > of a Link desktop file.
> >
> > I think so, yes.
> >
> > > That seems a good idea, but it is not clear that it needs a
> > > new sub-type. Have you considered the alternative of
> > > extending the Link format?
> > >
> >
> > No, I don't think we need to extend the link format, because
> > it is almost identical to Application type, they are both a
> > Desktop Entry, but I could be wrong.
> >
> > > I notice that the current spec does not describe the expected
> > > behaviour of Link and Directory files at all!
> > >
> >
> > This is not directly related to our issue, am I correct?
> > What is Directory file?
> >
> > > Thanks,
> > >
> > > Giles
> > >
> > >
> > > -----Original Message-----
> > > From: Genghis Khan [mailto:genghiskhan at gmx.ca]
> > > Sent: 07 January 2016 8:39 AM
> > > To: Giles Atkinson
> > > Cc: xdg at lists.freedesktop.org
> > > Subject: Re: RE: Type=Webapp
> > >
> > > Hello Giles,
> > >
> > > Please pardon me for being unclear.
> > >
> > > I have answered to your queries, but, if you may, please
> > > elaborate on the following part of your message:
> > >
> > > > so is it intended purely for the "application" argument of
> > > > "xdg-mime default"? If not, what does it do?
> > >
> > > See rest of message below.
> > >
> > > > Sent: Wednesday, January 06, 2016 at 5:34 PM
> > > > From: "Giles Atkinson" <Giles.Atkinson at citrix.com>
> > > > To: "'Genghis Khan'" <genghiskhan at gmx.ca>, "xdg at lists.freedesktop.org" <xdg at lists.freedesktop.org>
> > > > Subject: RE: Type=Webapp
> > > >
> > > > Genghis,
> > > >
> > > > I think this needs additional explanation. My guess is that
> > > > such entries are not expected to be visible (NoDisplay=true),
> > > > so is it intended purely for the "application" argument of
> > > > "xdg-mime default"? If not, what does it do?
> > > >
> > >
> > > Yes, mostly, but not exclusively.
> > >
> > > Such entries are mostly to be used with invoking protocols such
> > > as irc://, sip:, tox:, xmpp: or files such as ODT, TXT etc.
> > >
> > > Yet these entries may also be used as standalone launchers and,
> > > as such, are to be visible (NoDisplay=false).
> > >
> > > > How do you expect a Desktop File of this type to be activated?
> > > > What do you expect to happen when such an entry is activated
> > > > (there is no Exec key)?
> > > >
> > >
> > > Indeed, there is no Exec key, only Link key, and such launchers
> > > would be activated with a default web browser, similarly to entries
> > > of Type=Link.
> > >
> > > > The meaning of the Link item is unclear. The spec defines the
> > > > %u substitution as handling a URL, but yours is already in the
> > > > tail of a URL.
> > > >
> > >
> > > Yes, this is because I did not figure of a better way to realize it,
> > > so I did it in a similar manner to how it is done within web browsers
> > > with what is known as "smart bookmarks". See http://ptaff.ca/smart/
> > >
> > > > Thanks,
> > > >
> > > > Giles
> > > >
> > > > -----Original Message-----
> > > > From: xdg [mailto:xdg-bounces at lists.freedesktop.org] On Behalf Of Genghis Khan
> > > > Sent: 06 January 2016 11:47 AM
> > > > To: xdg at lists.freedesktop.org
> > > > Subject: Re: Type=Webapp
> > > >
> > > > This might also be used for editing documents with online
> > > > word processors or spreadsheet editors etc.
> > > >
> > > > > Sent: Tuesday, January 05, 2016 at 6:43 AM
> > > > > From: "Genghis Khan" <genghiskhan at gmx.ca>
> > > > > To: xdg at lists.freedesktop.org
> > > > > Subject: Type=Webapp
> > > > >
> > > > > Hallo,
> > > > >
> > > > >
> > > > > I would like to propose a new type of Desktop shortcut.
> > > > >
> > > > > Type=Webapp
> > > > >
> > > > > Instead of having to repeat a Register Protocol Handler
> > > > > procedure to add a "webapp", I suggest to create a .desktop
> > > > > file to directory .local/share/applications/ instead of or
> > > > > in addition to this procedure for two reasons:
> > > > >
> > > > > 1. Not to have to repeat this procedure with every web
> > > > > browser.
> > > > >
> > > > > 2. The ability to access a "webapp" with a click on a
> > > > > hyperlink in applications that are not web browsers.
> > > > >
> > > > > Referring to API:
> > > > > window.navigator.registerProtocolHandler(protocol, uri, title);
> > > > >
> > > > > Type=Webapp is mostly, if not solely, intended for
> > > > > associating web browsers with protocol MIME types.
> > > > >
> > > > > Example Desktop Entry File (KiwiIRC as an example)
> > > > >
> > > > > [Desktop Entry]
> > > > > Version=2.0
> > > > > Type=Webapp
> > > > > NoDisplay=true
> > > > > Name=KiwiIRC
> > > > > Comment=Chat over the Internet Relay Chat network
> > > > > Link=https://irc.freedesktop.org/%u
> > > > > Icon=kiwiirc
> > > > > MimeType=x-scheme-handler/irc;
> > > > > Actions=Nickname;Register;MOTD; #actions might be useful
> > > > >
> > > > > Please post your opinions and thoughts.
> > > > >
> > > > >
> > > > > With regards,
> > > > > --GK
> > > > >
> > > >
> > >
> > 
> _______________________________________________
> xdg mailing list
> xdg at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xdg
> 


More information about the xdg mailing list