Evolution Customization

I'm using Ximian Evolution in more-or-less production mode, after having migrated from exmh, a Tcl/Tk MUA for UNIX systems that I used for ten years.

After using a program for ten years, you get used to having things a certain way, especially with exmh's extensive customization and configuration interface. In general, I found that Evolution was tweakable to the extent that I wanted, with a few exceptions: The first one I ran into was the fact that I can't change the reply attribution line.

The attribution line is the line of text that is (usually) inserted into an email message by your MUA when you reply to another message. It usually looks something like:On 13 January 2005, Bruce A. Mah wrote:

Since the mid 90s I've become accustomed to using a different attribution. exmh (and the MH mail handling system that it's based on) let me use whatever reply attribution I wanted. But not Evolution. I guess (but have not confirmed) that the reason has to do with the difficulty in internationalizing a custom reply string, and perhaps developer priorities. Eventually this annoyed me enough to figure out how to change it.

This change requires a source code patch, so anyone who relies on binary packages for a particular operating system is out of luck here. The string in question is in the source file mail/em-composer-utils.c. Look for the definition of a macro called ATTRIBUTION; that's what you want to change. Comments above this definition in the file show how different values get substituted into this string, such as the sender of the original email, components of the date and time, and so on.

I actually install almost all of the software on my systems from the FreeBSD Ports Collection. A nice feature of doing this is that everything I install gets compiled from source and thus there is an easy opportunity to tweak software before being installed. To ensure that this local tweak gets applied every time I update or otherwise recompile Evolution, I just put the following patch into a file, and saved the file into my local copy of the ports/ tree (specifically, as ports/mail/evolution/files/patch-bmah-attribution).

--- mail/em-composer-utils.c.orig	Fri Nov 12 22:31:04 2004
+++ mail/em-composer-utils.c	Fri Nov 12 22:33:17 2004
@@ -1549,7 +1549,7 @@
 /* Note to translators: this is the attribution string used when quoting messages.
  * each ${Variable} gets replaced with a value. To see a full list of available
  * variables, see em-composer-utils.c:1514 */
-#define ATTRIBUTION _("On ${AbbrevWeekdayName}, ${Year}-${Month}-${Day} at ${24Hour}:${Minute} ${TimeZone}, ${Sender} wrote:")
+#define ATTRIBUTION _("If memory serves me right, ${Sender} wrote:")
 
 static char *
 attribution_format (const char *format, CamelMimeMessage *message)

I have been successful in using this patch on various versions of Evolution in the 2.0.X and 2.2.X series (as built and installed by the FreeBSD Ports Collection).

Another problem I've encountered is that I have a habit of holding down modifier keys (such as Shift and Control). This has resulted in more than one accidentally-sent email, because the Evolution composer window binds the key combination Control-Enter to the operation ``Send'' (as in ``Send this mail message with no prompting or confirmation dialog''). After doing this one-too-many times, and discovering that tweakability is not really a high priority for Evolution's developers, I took matters into my own hands and worked up the following patch, which I have inserted into my Ports tree as ports/mail/evolution/files/no-send-accel.

--- ui/evolution-message-composer.xml.orig	Thu May 12 07:32:36 2005
+++ ui/evolution-message-composer.xml	Thu May 12 07:32:52 2005
@@ -20,7 +20,6 @@
 		_tip="Save the message in a specified folder"/>
 
 		<cmd name="FileSend" _label="Send" _tip="Send this message"
-		accel="*Ctrl*Return"
                 pixtype="pixbuf"/>
 		
 		<cmd name="FileAttach" _label="Attach" _tip="Attach a file"

I first used this patch with Evolution 2.2.2.

Bruce A. Mah
bmah@kitchenlab.org