diff lisp/fringe.el @ 58597:fa269b651143

(fringe): New defgroup. (fringe-mode): Move to fringe group. (fringe-indicators): New defcustom. (set-fringe-indicators-1): New defun.
author Kim F. Storm <storm@cua.dk>
date Sun, 28 Nov 2004 00:56:28 +0000
parents 6f85a547ab10
children 119590228e9a
line wrap: on
line diff
--- a/lisp/fringe.el	Sun Nov 28 00:56:10 2004 +0000
+++ b/lisp/fringe.el	Sun Nov 28 00:56:28 2004 +0000
@@ -35,6 +35,11 @@
 
 ;;; Code:
 
+(defgroup fringe nil
+  "Window fringes."
+  :version "21.4"
+  :group 'frames)
+
 ;; Standard fringe bitmaps
 
 (defmacro fringe-bitmap-p (symbol)
@@ -156,7 +161,7 @@
 		 (cons :tag "Different left/right sizes"
 		       (integer :tag "Left width")
 		       (integer :tag "Right width")))
-  :group 'frames
+  :group 'fringe
   :require 'fringe
   :initialize 'fringe-mode-initialize
   :set 'set-fringe-mode-1)
@@ -252,6 +257,39 @@
 	       0)
            (float (frame-char-width))))
 
+
+;;;###autoload
+(defcustom fringe-indicators nil
+  "Visually indicate buffer boundaries and scrolling.
+Setting this variable, changes `default-indicate-buffer-boundaries'."
+  :type '(choice (const :tag "No indicators" nil)
+		 (const :tag "On left" left)
+		 (const :tag "On right" right)
+		 (const :tag "Opposite, no arrows" box)
+		 (const :tag "Opposite, arrows right" mixed)
+		 (const :tag "Empty lines" empty))
+  :group 'fringe
+  :require 'fringe
+  :set 'set-fringe-indicators-1)
+
+(defun set-fringe-indicators-1 (ignore value)
+  "Set fringe indicators according to VALUE.
+This is usually invoked when setting `fringe-indicators' via customize."
+  (setq fringe-indicators value)
+  (setq default-indicate-empty-lines nil)
+  (setq default-indicate-buffer-boundaries
+	(cond
+	 ((memq value '(left right t))
+	  value)
+	 ((eq value 'box)
+	  '((top . left) (bottom . right)))
+	 ((eq value 'mixed)
+	  '((top . left) (t . right)))
+	 ((eq value 'empty)
+	  (setq default-indicate-empty-lines t)
+	  nil)
+	 (t nil))))
+
 (provide 'fringe)
 
 ;;; arch-tag: 6611ef60-0869-47ed-8b93-587ee7d3ff5d