dot/xinitrc: Fiddle with window manager selection.
[profile] / bin / mdw-editor
index 8b6e819..aa52fd5 100755 (executable)
@@ -2,11 +2,19 @@
 
 set -e
 editor=${MDW_EDITOR-ed}
+emacsclient=$(
+  emacsclient --eval '(>= emacs-major-version 23)' 2>/dev/null || :)
 [ -t 0 -a -t 1 ] || TERM=dumb
 case "$EDITOR,$VISUAL,$TERM" in
-  mdw-editor,mdw-editor,dumb) editor=gnuclient;;
+  mdw-editor,mdw-editor,dumb | \
+    mdw-editor,mdw-editor,emacs | \
+    mdw-editor,mdw-editor,eterm*)
+    editor=emacsclient emacsclient=nil;;
   mdw-editor,mdw-editor,*);;
   mdw-editor,*,*) editor=$VISUAL;;
   *,*,*) editor=$EDITOR;;
 esac
-exec $editor "$@"
+case "$emacsclient" in
+  t) exec emacsclient -nw -a "$editor" "$@";;
+  *) exec $editor "$@";;
+esac