[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/bindings.el,v
From: |
Glenn Morris |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/bindings.el,v |
Date: |
Thu, 18 Oct 2007 04:08:30 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Glenn Morris <gm> 07/10/18 04:08:30
Index: bindings.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/bindings.el,v
retrieving revision 1.187
retrieving revision 1.188
diff -u -b -r1.187 -r1.188
--- bindings.el 18 Oct 2007 00:07:04 -0000 1.187
+++ bindings.el 18 Oct 2007 04:08:30 -0000 1.188
@@ -289,6 +289,7 @@
(defvar mode-line-minor-mode-keymap
(let ((map (make-sparse-keymap)))
+ (define-key map [mode-line down-mouse-1] 'mouse-minor-mode-menu)
(define-key map [mode-line mouse-2] 'mode-line-minor-mode-help)
(define-key map [mode-line down-mouse-3] 'mode-line-mode-menu-1)
(define-key map [header-line down-mouse-3] 'mode-line-mode-menu-1)
@@ -331,7 +332,7 @@
'("" mode-line-process)
`(:propertize ("" minor-mode-alist)
mouse-face mode-line-highlight
- help-echo "mouse-2: minor mode help, mouse-3: toggle
minor modes"
+ help-echo "mouse-1: minor mode, mouse-2: minor mode
help, mouse-3: toggle minor modes"
local-map ,mode-line-minor-mode-keymap)
(propertize "%n" 'help-echo "mouse-2: widen"
'mouse-face 'mode-line-highlight
@@ -492,8 +493,28 @@
(interactive "@e")
(x-popup-menu event mode-line-mode-menu))
+(defun mouse-minor-mode-menu (event)
+ "Show minor-mode menu for EVENT on minor modes area of the mode line."
+ (interactive "@e")
+ (let ((indicator (car (nth 4 (car (cdr event))))))
+ (minor-mode-menu-from-indicator indicator)))
+
+(defun minor-mode-menu-from-indicator (indicator)
+ "Show menu, if any, for minor mode specified by INDICATOR.
+Interactively, INDICATOR is read using completion."
+ (interactive (list (completing-read "Minor mode indicator: "
+
(describe-minor-mode-completion-table-for-indicator))))
+ (let ((minor-mode (lookup-minor-mode-from-indicator indicator)))
+ (if minor-mode
+ (let* ((map (cdr-safe (assq minor-mode minor-mode-map-alist)))
+ (menu (and (keymapp map) (lookup-key map [menu-bar]))))
+ (if menu
+ (popup-menu menu)
+ (message "No menu for minor mode `%s'" minor-mode)))
+ (error "Cannot find minor mode for `%s'" indicator))))
+
(defun mode-line-minor-mode-help (event)
- "Describe minor mode for EVENT occurred on minor modes area of the mode
line."
+ "Describe minor mode for EVENT on minor modes area of the mode line."
(interactive "@e")
(let ((indicator (car (nth 4 (car (cdr event))))))
(describe-minor-mode-from-indicator indicator)))
- [Emacs-diffs] Changes to emacs/lisp/bindings.el,v, Juri Linkov, 2007/10/06
- [Emacs-diffs] Changes to emacs/lisp/bindings.el,v, Reiner Steib, 2007/10/17
- [Emacs-diffs] Changes to emacs/lisp/bindings.el,v, Juri Linkov, 2007/10/17
- [Emacs-diffs] Changes to emacs/lisp/bindings.el,v,
Glenn Morris <=
- [Emacs-diffs] Changes to emacs/lisp/bindings.el,v, Glenn Morris, 2007/10/18