GNOME Bugzilla – Bug 313185
Evolution shouldn't be hardcoded in the Mail tile
Last modified: 2005-08-16 23:10:30 UTC
Version details: CVS Distribution/Version: SUSE 9.3, Novell Linux Desktop Hello Everybody i changed desktop-launch from evolution in the file /beagle/Tiles/TileMailMessage.cs in line 231 that reads p.StartInfo.FileName = that allows Desktop environment 's default email client to open email when clicked an email in best, as you see this is not hard coded to any application, this is working fine in SUSE 9.3 under kde, it correctly calls kmail, i want feedback of users of evolution email client under gnome desktop evironment, Note: test this hack only under SUSE 9.3 and Novell Linux Desktop, i didn't yet implimented fall-back mechanism when desktop-launch support not available, so first check to see if it work or not in evolution under gnome in above said distributions, if you don't to modify TileMailMessage.cs by hand, download the attached file, and overwrite it in /beagle/tiles/ with existing one.
Created attachment 50552 [details] download this file place it in /beagle/Tiles/ and overwrite existing one.
my proposed solution won't work in evolution, so i leave this bug to developers of beagle to fix
Reopening the bug, we need to use the user's default mail client (Evo, KMail)
AFAIK there is nothing called as the default mail handler in linux (unlike in windows). So, there cant be a neat and perfect solution; we can resort to hacks though. How about following the path of firefox (about:config -> network.protocol-handler.app.mailto ) in these kind of cases: using a config file where users can override default setting. Its much better than recompiling beagle. Maybe put that in beagle-settings.
While Evolution can't open emails that arent part of an evo mail store, and while it can't open them by file URI, we aren't left with much other choice but to make sure we open them with evolution. This implies that we have to keep track of where (which backend) the Indexable came from in the Hit. Similarly, we can use kmail for emails that came from the kmail backend. The only question that remains is what we do with Maildir files which were picked up from the general filesystem.
The indexable type MailMessage contains a fixme:client keyword which contains evolution (or kmail for the submitted kmail backend). That can be used to keep track of the backend. For maildir files from filesystem, I feel the question is no different than which application to open for file of any mime-type - kde associated app or gnome associated app. The issue should be discussed in that broader scope.
why don't we use path of mail files to determine which application must used for handling them? No email clients use a standard paths for storing mail files, so thats not going to be a problem, another idea, why don't we use header of an email message to determine which application created? in my case Kmail insert header to show Kmail created it, i think evolution too would insert header,
Insert header in the mail file !!! That would mean changing the file data. Indexer should not change a file data. As i said the mail client is already stored in the index. I think it is possble to get the value of fixme:client keyword form the Hit in TileMailMessage.cs and act accrodingly. The bigger problem is deciding what to do with general mail messages.
why don't we consider the method of identifying which application won the mail by path of mail files? another thing, i didn't tell to manipulate headers, but use headers that already manipulated by email applications, for example KMail inserts its name in header,
Fixed in cvs. Used Debajyoti Bera's suggestion of examining fixme:client - thanks! We now use evolution for mail from the evo backend, and the default message/rfc822 mime handler for other mails.