--- /dev/null
+diff -Nuard evolution-1.4.5.orig/mail/mail-display.c evolution-1.4.5/mail/mail-display.c
+--- evolution-1.4.5.orig/mail/mail-display.c 2003-09-11 18:20:32.000000000 +0200
++++ evolution-1.4.5/mail/mail-display.c 2003-11-23 19:57:48.000000000 +0100
+@@ -371,6 +371,7 @@
+ GList *apps, *children, *c;
+ GnomeVFSMimeApplication *app;
+ char *command, *filename;
++ gchar *terminal = NULL;
+ const char *tmpdir;
+
+ handler = mail_lookup_handler (g_object_get_data(user_data, "mime_type"));
+@@ -419,11 +420,30 @@
+ return;
+ }
+
+- command = g_strdup_printf ("%s %s%s &", app->command,
++ if (app->requires_terminal)
++ {
++ GConfClient *gconf;
++ gchar *terminal_exec, *terminal_exec_arg;
++
++ gconf = mail_config_get_gconf_client ();
++
++ terminal_exec = gconf_client_get_string (gconf, "/desktop/gnome/applications/terminal/exec", NULL);
++ terminal_exec_arg = gconf_client_get_string (gconf, "/desktop/gnome/applications/terminal/exec_arg", NULL);
++
++ if ((terminal_exec != NULL) && (terminal_exec_arg != NULL))
++ terminal = g_strdup_printf("%s %s",terminal_exec, terminal_exec_arg);
++
++ g_free(terminal_exec);
++ g_free(terminal_exec_arg);
++ }
++
++ command = g_strdup_printf ("%s %s %s%s &", terminal ? terminal : "", app->command,
+ app->expects_uris == GNOME_VFS_MIME_APPLICATION_ARGUMENT_TYPE_URIS ?
+ "file://" : "", filename);
++
++ g_free (terminal);
+ g_free (filename);
+-
++
+ system (command);
+ g_free (command);
+ }