Universal "Send by email" service menu [was: can I get default email client in command line?]

Donatas G. dgvirtual at akl.lt
Wed Nov 25 06:22:19 UTC 2009


On 2009 m. Lapkritis 24 d., antradienis 16:39:46 Alvin wrote:
> On Tuesday 24 November 2009 15:29:45 Donatas G. wrote:
> > On 2009 m. Lapkritis 24 d., antradienis 15:56:02 Alvin wrote:
> > > On Tuesday 24 November 2009 12:59:40 Donatas G. wrote:
> > > > I am trying to write a Dolphin service menu that would allow to
> > > > attach a file to an email, but with a twist: I want the service menu
> > > > to be universal enough to guess which email program the user is
> > > > using.
> > > >
> > > > For that I need to find out how to get the name of the default email
> > > >  program via shell.
> > > >
> > > > Any ideas? Is there any dbus call I could make?
> > > >
> > > > If it were just kmail, the desktop file contents would look like
> > > > this:
> > > >
> > > > [...]
> > > > If I could get the default email program by executing some program in
> > > >  command line I could proceed...
> > >
> > > Take a look at xdg-email (in xdg-utils).
> >
> > OK, thank you, I see /usr/bin/xdg-email uses kreadconfig tool, but the
> >  script is evidently wrong; upon trying to use it I get an error, and the
> >  particular line
> >
> > kreadconfig --file emaildefaults --group PROFILE_Default --key
> > EmailClient
> >
> > produces empty output.
> > And I could find no clues online on how to use kreadconfig in KDE 4...
> > I will have to dig deeper.
> 
> kreadconfig also gives empty output here.
> 
> I just tried xdg-email and it doesn't work. It says to install
>  kmailservice. You need to install kdelibs4c2a for that.
> 
> After installation, xdg-email works:
> $ xdg-email --subject "test" --body "test" kubuntu-users at lists.ubuntu.com

Yes, but kdelibs4c2a is from kde3... 

So I deviced a possibly better idea: I found out that if the default email 
client in KDE is not kmail, then the file ~/.kde/share/config/emaildefaults 
contains a variable EmailClient with the program name.

I am attaching a desktop file and a script that seem to make a potentially 
universal "send by email" service menu. The *.sh script goes to /usr/bin (and 
needs to be made executable), and the *.desktop file goes to 
/usr/share/kde4/services/ServiceMenu/

The service menu appears under „actions“ in the Dolphin context menu. 

Could someone using thunderbird test it? I do not have it configured currently, 
and am lazy to configure it just to test the script...

Limitations: 

* no internationalization for the Subject: line (it would be possible if sh 
script is not used, and the command for a particular email client be written 
in the *.desktop file itself).
* only thunderbird and kmail supported. Other clients would result in a 
kdialog message warning the user that their default email is not supported.
* some advanced configurations are not supported (like thunderbird launched 
with a particular profile - the script would launch using the default 
profile...)

If anyone sends me proper command line strings for attaching files to other 
email clients, I will gladly update the script.

If this service menu idea turns interesting to others, I will put it into kde-
apps.org.

Donatas G.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sendbyemail.sh
Type: application/x-shellscript
Size: 1260 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/kubuntu-users/attachments/20091125/e858f409/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sendbyemail.desktop
Type: application/x-desktop
Size: 329 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/kubuntu-users/attachments/20091125/e858f409/attachment-0001.bin>


More information about the kubuntu-users mailing list