]> code.delx.au - gnu-emacs/commitdiff
(Info-mode-line-node-keymap): New defvar.
authorJuri Linkov <juri@jurta.org>
Mon, 16 Jan 2006 23:54:02 +0000 (23:54 +0000)
committerJuri Linkov <juri@jurta.org>
Mon, 16 Jan 2006 23:54:02 +0000 (23:54 +0000)
(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'.

lisp/info.el

index 386f549d3e23d8fa617c8e96b46ef8c90a3632e1..8bd266cffc0ebeeed2eccde5f5a708a35278547e 100644 (file)
@@ -1399,15 +1399,31 @@ any double quotes or backslashes must be escaped (\\\",\\\\)."
        (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)
+                  ""))))))
 \f
 ;; Go to an Info node specified with a filename-and-nodename string
 ;; of the sort that is found in pointers in nodes.