emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master 824f105 12/24: Optionally separate lv window and echo area


From: Oleh Krehel
Subject: [elpa] master 824f105 12/24: Optionally separate lv window and echo area using a thin line
Date: Fri, 01 May 2015 14:27:15 +0000

branch: master
commit 824f105b150e67b8ca450dff396cb9619fe7d6ce
Author: Jonas Bernoulli <address@hidden>
Commit: Oleh Krehel <address@hidden>

    Optionally separate lv window and echo area using a thin line
    
    * lv.el (lv-use-separator): New option.
    (lv-separator): New face.
    (lv): New custom group.
    (lv-message): Respect lv-use-separator using lv-separator.
    
    Re #122
---
 lv.el |   27 ++++++++++++++++++++++++++-
 1 files changed, 26 insertions(+), 1 deletions(-)

diff --git a/lv.el b/lv.el
index 76094b5..c4b7743 100644
--- a/lv.el
+++ b/lv.el
@@ -33,6 +33,24 @@
 
 ;;; Code:
 
+(defgroup lv nil
+  "The other echo area."
+  :group 'minibuffer
+  :group 'hydra)
+
+(defcustom lv-use-separator nil
+  "Whether to draw a line between the lv window and the echo area."
+  :group 'lv
+  :type 'boolean)
+
+(defface lv-separator
+  '((((class color) (background light)) :background "grey80")
+    (((class color) (background  dark)) :background "grey30"))
+  "Face used to draw line between the lv window and the echo area.
+This is only used if option `lv-use-separator' is non-nil.
+Only the background color is significant."
+  :group 'lv)
+
 (defvar lv-wnd nil
   "Holds the current LV window.")
 
@@ -70,9 +88,16 @@
                    (null lv-force-update))
         (delete-region (point-min) (point-max))
         (insert str)
+        (when (window-system)
+          (unless (string-match-p "\n$" str)
+            (insert "\n"))
+          (insert
+           (propertize "__" 'face 'lv-separator 'display '(space :height (1)))
+           (propertize "\n" 'face 'lv-separator 'line-height t)))
         (setq-local window-min-height n-lines)
         (setq truncate-lines (> n-lines 1))
-        (fit-window-to-buffer nil nil 1))
+        (let ((window-resize-pixelwise t))
+          (fit-window-to-buffer nil nil 1)))
       (goto-char (point-min)))))
 
 (defun lv-delete-window ()



reply via email to

[Prev in Thread] Current Thread [Next in Thread]