all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [PATCH] Improve default mouse menu for mode from modeline
@ 2018-10-10 18:35 Pierre Téchoueyres
  2018-10-27 10:47 ` Pierre Téchoueyres
  0 siblings, 1 reply; 5+ messages in thread
From: Pierre Téchoueyres @ 2018-10-10 18:35 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 836 bytes --]

Hello emacs's developpers,

I would submit an enhacement for when you use the mouse to display the
menu for a mode (major or minor) from the modeline.


For now, if the mode doesn't define a custom mouse menu, the menu title
simply display the mode indicator. But sometimes this indicator isn't
really obvious.

The attached patch try to improve this by appending the full mode name
after the indicator.

For example the Smartparens minor mode has 'SP' as indicator. So his
menu is look like:
---------------------
| SP
---------------------
| Turn off minor mode
| Help for minor mode
----------------------

Whit the attached patch the menu will look like:

------------------------
| SP - Smartparens Mode
------------------------
| Turn off minor mode
| Help for minor mode
------------------------

Hope this could help.

Pierre.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-minor-mode-menu-from-indicator-now-display-full-mino.patch --]
[-- Type: text/x-patch, Size: 2083 bytes --]

From 8ccd620d2891eee0ec1910a002adca0ab657f7ab Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pierre=20T=C3=A9choueyres?= <pierre.techoueyres@free.fr>
Date: Wed, 10 Oct 2018 20:08:05 +0200
Subject: [PATCH] 'minor-mode-menu-from-indicator' now display full minor mode.

When there is no menu for a mode, display the mode name after the
indicator instead of just the indicator (which is sometime cryptic).
Ex:
before : SP
now    : SP - Smartparens Mode

* etc/NEWS: Add en entry for this new feature.
* lisp/mouse.el (minor-mode-menu-from-indicator): Append the mode name
  after the indicator when there is no menu defined by the mode.
---
 etc/NEWS      | 9 ++++++++-
 lisp/mouse.el | 5 ++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/etc/NEWS b/etc/NEWS
index ee74e86f40..739674cf3e 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -824,11 +824,18 @@ UUID at point.
 
 
 ** Interactive automatic highlighting
-
 +++
 *** 'highlight-regexp' can now highlight subexpressions.
 The now command accepts a prefix numeric argument to choose the
 subexpression.
+** Mouse display major mode menu
++++
+*** 'minor-mode-menu-from-indicator' now display full minor mode.
+When there is no menu for a mode, display the mode name after the
+indicator instead of just the indicator (which is sometime cryptic).
+Ex:
+before : SP
+now    : SP - Smartparens Mode
 
 \f
 * New Modes and Packages in Emacs 27.1
diff --git a/lisp/mouse.el b/lisp/mouse.el
index cb63ca51c5..2aba9bf458 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -169,7 +169,10 @@ minor-mode-menu-from-indicator
                 (mouse-menu-non-singleton menu)
               (if (fboundp mm-fun)      ; bug#20201
                   `(keymap
-                    ,indicator
+                    ,(format "%s - %s" indicator
+			     (capitalize
+			      (replace-regexp-in-string
+			       "-" " " (format "%S" minor-mode))))
                     (turn-off menu-item "Turn off minor mode" ,mm-fun)
                     (help menu-item "Help for minor mode"
                           (lambda () (interactive)
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-10-28 22:34 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-10 18:35 [PATCH] Improve default mouse menu for mode from modeline Pierre Téchoueyres
2018-10-27 10:47 ` Pierre Téchoueyres
2018-10-27 11:24   ` Eli Zaretskii
2018-10-27 22:19   ` Stefan Monnier
2018-10-28 22:34     ` Pierre Téchoueyres

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.