浏览代码

Merge remote branch 'wh5a/master'

Alex Bennee 16 年之前
父节点
当前提交
c7931f307f
共有 2 个文件被更改,包括 34 次插入2 次删除
  1. 10 0
      README
  2. 24 2
      edit-server.el

+ 10 - 0
README

@@ -19,6 +19,16 @@ at:
 As the edit server concept is fairly simple we will try and keep them
 As the edit server concept is fairly simple we will try and keep them
 compatible with each other.
 compatible with each other.
 
 
+Customizing the look of Emacs
+=============================
+
+By default, Emacs opens up a new frame upon an edit request. All the
+UI elements are removed to better mimic a bare text box. You can
+customize the default behavior by `M-x customize-group [RET]
+edit-server [RET]`. Or you can set the variables' values directly in
+your ~/.emacs.
+
+
 How it works
 How it works
 ============
 ============
 
 

+ 24 - 2
edit-server.el

@@ -48,6 +48,21 @@ Current buffer holds the text that is about to be sent back to the client."
   :group 'edit-server
   :group 'edit-server
   :type 'hook)
   :type 'hook)
 
 
+(defcustom edit-server-new-frame-minibuffer nil
+  "Show the emacs frame's minibuffer if set to t; hide if nil."
+  :group 'edit-server
+  :type 'boolean)
+
+(defcustom edit-server-new-frame-menu-bar 0
+  "Show the emacs frame's menu-bar if set to 1; hide if 0."
+  :group 'edit-server
+  :type 'integer)
+
+(defcustom edit-server-new-frame-no-mode-line t
+  "Hide the emacs frame's mode-line."
+  :group 'edit-server
+  :type 'integer)
+
 ;; Vars
 ;; Vars
 (defconst edit-server-process-buffer-name " *edit-server*"
 (defconst edit-server-process-buffer-name " *edit-server*"
   "Template name of the edit-server process buffers.")
   "Template name of the edit-server process buffers.")
@@ -260,10 +275,17 @@ If `edit-server-verbose' is non-nil, then STRING is also echoed to the message l
       (set (make-local-variable 'edit-server-frame) 
       (set (make-local-variable 'edit-server-frame) 
            (if edit-server-new-frame
            (if edit-server-new-frame
                (make-frame-on-display (getenv "DISPLAY")
                (make-frame-on-display (getenv "DISPLAY")
-                 `((name . ,edit-server-new-frame-title) (width . ,edit-server-new-frame-width) (height . ,edit-server-new-frame-height)))
+                 `((name . ,edit-server-new-frame-title)
+                   (width . ,edit-server-new-frame-width)
+                   (height . ,edit-server-new-frame-height)
+                   (minibuffer . ,edit-server-new-frame-minibuffer)
+                   (menu-bar-lines . ,edit-server-new-frame-menu-bar)))
              nil))
              nil))
       (if edit-server-new-frame
       (if edit-server-new-frame
-          (raise-frame edit-server-frame)
+        (progn
+          (if edit-server-new-frame-no-mode-line
+            (setq mode-line-format nil))
+          (raise-frame edit-server-frame))
         (pop-to-buffer buffer)))))
         (pop-to-buffer buffer)))))
 
 
 (defun edit-server-send-response (proc &optional body close)
 (defun edit-server-send-response (proc &optional body close)