--- a/lib/editor.tcl
+++ b/lib/editor.tcl
@@ -41,8 +41,8 @@ gnuclient &
 give-away gnuclient
 exmh-async emacs
 exmh-async emacsclient
-exmh-async xterm -e vi
-exmh-async xterm {-geom 80x44+0+0} -e vi" \
+exmh-async x-terminal-emulator -e vi
+exmh-async x-terminal-emulator {-geom 80x44+0+0} -e vi" \
     [list \
 	[list editor(prog) editCmd $prog {Editor command} \
 "The editor command used to compose mail messages.
--- a/lib/extrasInit.tcl
+++ b/lib/extrasInit.tcl
@@ -57,7 +57,7 @@ gnuclient &
 give-away gnuclient
 exmh-async emacs
 exmh-async emacsclient
-exmh-async xterm -e vi
+exmh-async x-terminal-emulator -e vi
 (Editor Support Preferences.)"}
 
     {ftoc(autoCommit) autoCommit OFF "Auto Commit"
@@ -484,14 +484,14 @@ when attaching files."}
 spell program (which is not interactive). \"ispell\" enables checking 
 with the ispell program. \"custom\" runs the program set in the next preference.
 \"interactive\" enables the I-Spell module, which has its own preference page."}
-    {editor(spell) spellCmd {exmh-async xterm -e ispell} {Custom spell command}
+    {editor(spell) spellCmd {exmh-async x-terminal-emulator -e ispell} {Custom spell command}
 "This option is ignored unless you chose \"custom\" as the spell program option.
 
 There are two flavors of spell programs.  If your spell program just
 prints out the misspelled words, then just specify it directly.
 Examples include the standard \"spell\" program.  If your spell program
 is interactive, then prefix it with exmh-async:
- exmh-async xterm -e ispell
+ exmh-async x-terminal-emulator -e ispell
 Your spell program will be given the file name to check as argument."}
     {sedit(notifySuccess) seditNotifySuccess OFF {Notify on sucessful delivery}
 "This lets you say whether you would like to be informed (via an email
@@ -657,7 +657,7 @@ select the gpgUseAgent option.
 If pgpExtPass is on, exmh will use an external passphrase
 cache program; otherwise the passphrase is then kept in a global
 variable, which is not safe, because of \"send\"'s power.
-If you turn this feature off, exmh will use xterm to run
+If you turn this feature off, exmh will use x-terminal-emulator to run
 pgp so that it doesn't have to deal with the passphrase at all." }
     {pgp(echopass) pgpEchoPass  ON {Echo '*' when typing pass}
 "If you have pgpKeepPass on, Exmh will prompt for your passphrase.
--- a/lib/mh.tcl
+++ b/lib/mh.tcl
@@ -69,7 +69,7 @@ async: exmh does not wait for the messag
 If there are errors, they are mailed back to you.
 xterm: exmh runs send in an xterm.  Exmh does not wait for
 your interaction with send to complete."} \
-	{mhProfile(xtermcmd) xtermCmd {xterm -g 80x5} {xterm command parameters}
+	{mhProfile(xtermcmd) xtermCmd {x-terminal-emulator -g 80x5} {xterm command parameters}
 "When \"Send in xterm window\" is selected,
 this option controls extra parameters provided
 to the xterm program to control how it is started."} \
--- a/lib/mime.tcl
+++ b/lib/mime.tcl
@@ -841,7 +841,7 @@ proc Mime_ShowImage {tkw part} {
 		$tkw insert insert "Opening viewer with:\n"
 		$tkw insert insert "$viewer\n"
 		if [info exists atrib(needsterminal)] {
-		    exec xterm -e sh -c $viewer &
+		    exec x-terminal-emulator -e sh -c $viewer &
 		} else {
 		    exec sh -c $viewer > /dev/null &
 		}
@@ -921,7 +921,7 @@ proc Mime_ShowDefault {tkw part} {
 	    if [info exists viewer] {
 		if ![info exists atrib(copiousoutput)] {
 		    if [info exists atrib(needsterminal)] {
-			exec xterm -e sh -c $viewer &
+			exec x-terminal-emulator -e sh -c $viewer &
 		    } else {
 			exec sh -c $viewer &
 		    }
@@ -2785,7 +2785,7 @@ proc MimeMailcapView { part subparts } {
     Exmh_Status $rule
     if [catch {
 	if [info exists atrib(needsterminal)] {
-	    exec xterm -e sh -c $rule &
+	    exec x-terminal-emulator -e sh -c $rule &
 	} else {
 	    exec sh -c $rule &
 	}
--- a/lib/pgpExec.tcl
+++ b/lib/pgpExec.tcl
@@ -304,7 +304,7 @@ proc Pgp_Exec_Interactive { v exectype a
     if { ( $tcl_platform(os) == "AIX" ) && [ file executable "/usr/bin/X11/aixterm" ] } {
         set xterm "aixterm"
     } else {
-        set xterm "xterm"
+        set xterm "x-terminal-emulator"
     }
 
     # Hint: XFree86 xterm does not support output logging (Markus)
--- a/lib/pgpMain.tcl
+++ b/lib/pgpMain.tcl
@@ -96,7 +96,7 @@ you want to use to generate your key?"]
 	catch { exec touch [set pgp($v,configFile)] }
 	# make the key pair(s) and self sign it/them
 	if [catch {
-	    exec xterm -title "[set pgp($v,fullName)] Setup" -e sh \
+	    exec x-terminal-emulator -title "[set pgp($v,fullName)] Setup" -e sh \
                            -c [set pgp($v,keyGenCmd)] >& /dev/tty } error] {
 	    tk_messageBox -title "[set pgp($v,fullName)] Setup Error" -type ok \
                           -icon error -message "An error occurred while trying to generate your key: \n$error\n please try these commands at your unix shell to generate your key and self sign it: \n[set pgp($v,keyGenCmd)]\n Then restart exmh to enable its [set pgp($v,fullName)] support."
--- a/lib/seditExtras.tcl
+++ b/lib/seditExtras.tcl
@@ -690,7 +690,7 @@ proc SeditSpell { draft f t } {
 
     set async_hack 0
     switch -- $sedit(spell) {
-	ispell {set prog "exmh-async xterm -e ispell" ; set async_hack 1}
+	ispell {set prog "exmh-async x-terminal-emulator -e ispell" ; set async_hack 1}
 	custom {set prog $editor(spell)}
 	default {set prog spell}
     }
--- a/lib/seditSel.tcl
+++ b/lib/seditSel.tcl
@@ -147,7 +147,7 @@ proc SeditSelSpell { f t } {
 
     set async_hack 0
     switch -- $sedit(spell) {
-	ispell {set prog "exmh-async xterm -e ispell" ; set async_hack 1}
+	ispell {set prog "exmh-async x-terminal-emulator -e ispell" ; set async_hack 1}
 	custom {set prog $editor(spell)}
 	default {set prog spell}
     }
--- a/lib/xns.tcl
+++ b/lib/xns.tcl
@@ -19,7 +19,7 @@ proc Xns_GetMail {} {
     if [catch {exec $exmh(expect) -f $exmh(library)/xnsgetmail.exp} err] {
 	if [regexp {XNS username} $err] {
 	    Exmh_Status "Please XNS login"
-	    exec xterm -e xnslogin
+	    exec x-terminal-emulator -e xnslogin
 	    after 1000 Xns_GetMail
 	} else {
 	    Exmh_Status $err
