changeset 68216:9f1c66838760

(Info-mode-line-node-keymap): New defvar. (Info-set-mode-line): Use `stringp' to check Info-current-file. Propertize Info-current-node with `mode-line-buffer-id' and `mode-line-highlight' faces and `Info-mode-line-node-keymap'.
author Juri Linkov <juri@jurta.org>
date Mon, 16 Jan 2006 23:54:02 +0000
parents d300de715fe6
children 7fad4c175274
files lisp/info.el
diffstat 1 files changed, 21 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/info.el	Mon Jan 16 23:50:39 2006 +0000
+++ b/lisp/info.el	Mon Jan 16 23:54:02 2006 +0000
@@ -1399,15 +1399,31 @@
 	(Info-hide-cookies-node)
 	(run-hooks 'Info-selection-hook)))))
 
+(defvar Info-mode-line-node-keymap
+  (let ((map (make-sparse-keymap)))
+    (define-key map [mode-line mouse-1] 'Info-scroll-up)
+    (define-key map [mode-line mouse-3] 'Info-scroll-down)
+    map)
+  "Keymap to put on the Info node name in the mode line.")
+
 (defun Info-set-mode-line ()
   (setq mode-line-buffer-identification
 	(nconc (propertized-buffer-identification "%b")
 	       (list
-		(concat " ("
-			(if Info-current-file
-			    (file-name-nondirectory Info-current-file)
-			  " ")
-			") " (or Info-current-node ""))))))
+		(concat
+		 " ("
+		 (if (stringp Info-current-file)
+		     (file-name-nondirectory Info-current-file)
+		   "")
+		 ") "
+		 (if Info-current-node
+		     (propertize Info-current-node
+				 'face 'mode-line-buffer-id
+				 'help-echo
+				 "mouse-1: scroll forward, mouse-3: scroll back"
+				 'mouse-face 'mode-line-highlight
+				 'local-map Info-mode-line-node-keymap)
+		   ""))))))
 
 ;; Go to an Info node specified with a filename-and-nodename string
 ;; of the sort that is found in pointers in nodes.