[Portland] xdg-email without GNOME, KDE, or XFCE (Re: xdg-utils upstream status)

Per Olofsson pelle at debian.org
Sat Jul 3 15:03:50 PDT 2010


Hi Jonathan,

2010-06-29 14:54, Jonathan Nieder skrev:
> Hi,
> 
> Fathi Boudra wrote:
> 
>> We don't have a thousand contributors but we're still alive.
> 
> Oh, good!  Sorry to misunderstand.

My mail was written before Fathi stepped up as a maintainer, I believe.
That's why I said there was no upstream maintainer.

> 
> What are the XDG tools supposed to do when no standard desktop
> environment is present?  I have two examples in mind:
> 
> 1. xdg-open uses the $BROWSER environment to find a handler for remote
> URIs, which makes a lot of sense.  But xdg-settings does not provide a
> means (or hint) to read or change that variable.

How exactly should it change the variable? I don't think it should be
poking around in the user's ~/.profile (which might not be correct
either). Perhaps it could be set in ~/.pam_environment, although it
might still be overridden in ~/.profile then.

Regarding a "hint", how would that be done? xdg-settings is
non-interactive, and usually called by a GUI application-

> 2. xdg-email uses the $BROWSER environment to invoke an MUA, which
> makes a bit less sense.  Here, unfortunately, I suspect that even a
> $MAILER variable along the lines of $BROWSER would not be right, since
> different mailers have different command-line interfaces.

The point is that browsers can often interpret mailto: URLs and launch
the appropriate MUA. Some browsers like w3m have their own interface for
sending e-mail. But of course, if the browser just calls xdg-open or
xdg-email, it doesn't work.

> A simple solution might be an $XDG_MAILER variable that gets set to a
> command that should be passed a mailto: URI as an argument.

Sounds good.

> Afterwards, it would be nice to have something more flexible, like
> this:
> 
>  - mailer puts a description of its interface somewhere (e.g., a
>    .desktop file).  Something like
> 
>   X-XDGEmail-Exec=helper %u %b
> 
>   where helper is a script that takes a mailto: URI and the path
>   to the body of an email and massages the URI into arguments
>   for the mail client.
> 
>  - user sets $XDG_MAILER variable to the name of the mailer.
> 
> This way, one could use the usual name for a mailer without having
> to figure out whether it requires a separate --compose option and
> whether it will accept a URI as an argument.
> 
> What do you think?  Is this worth pursuing?

I suspect it would be easier to include workarounds for specific mail
clients directly in the xdg-email script. It's already done for
thunderbird, although it doesn't kick in for icedove and seems to work
anyway.

-- 
Pelle


More information about the Portland mailing list