emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r114717: Fix TTY menus when they lead to a minibuffe


From: Eli Zaretskii
Subject: [Emacs-diffs] trunk r114717: Fix TTY menus when they lead to a minibuffer prompt.
Date: Sat, 19 Oct 2013 08:36:26 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 114717
revision-id: address@hidden
parent: address@hidden
committer: Eli Zaretskii <address@hidden>
branch nick: trunk
timestamp: Sat 2013-10-19 11:35:51 +0300
message:
  Fix TTY menus when they lead to a minibuffer prompt.
  
   lisp/menu-bar.el (tty-menu-navigation-map): Bind mouse-N to perform
   TTY menu actions and down-mouse-N to tty-menu-ignore.  This solves
   the problem whereby selecting a menu item that leads to a
   minibuffer prompt moves the cursor out of the minibuffer window,
   making it hard to type at the prompt.  Suggested by Stefan Monnier
   <address@hidden>.
modified:
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/menu-bar.el               menubar.el-20091113204419-o5vbwnq5f7feedwu-546
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2013-10-19 08:23:43 +0000
+++ b/lisp/ChangeLog    2013-10-19 08:35:51 +0000
@@ -1,3 +1,12 @@
+2013-10-19  Eli Zaretskii  <address@hidden>
+
+       * menu-bar.el (tty-menu-navigation-map): Bind mouse-N to perform
+       TTY menu actions and down-mouse-N to tty-menu-ignore.  This solves
+       the problem whereby selecting a menu item that leads to a
+       minibuffer prompt moves the cursor out of the minibuffer window,
+       making it hard to type at the prompt.  Suggested by Stefan Monnier
+       <address@hidden>.
+
 2013-10-19  Jan Djärv  <address@hidden>
 
        * menu-bar.el: Don't make Services menu.

=== modified file 'lisp/menu-bar.el'
--- a/lisp/menu-bar.el  2013-10-19 08:23:43 +0000
+++ b/lisp/menu-bar.el  2013-10-19 08:35:51 +0000
@@ -2337,36 +2337,38 @@
     (define-key map [?\C-j] 'tty-menu-select)
     (define-key map [return] 'tty-menu-select)
     (define-key map [linefeed] 'tty-menu-select)
-    (define-key map [down-mouse-1] 'tty-menu-select)
+    (define-key map [mouse-1] 'tty-menu-select)
     (define-key map [drag-mouse-1] 'tty-menu-select)
+    (define-key map [mouse-2] 'tty-menu-select)
+    (define-key map [drag-mouse-2] 'tty-menu-select)
+    (define-key map [mouse-3] 'tty-menu-select)
+    (define-key map [drag-mouse-3] 'tty-menu-select)
     (define-key map [wheel-down] 'tty-menu-next-item)
     (define-key map [wheel-up] 'tty-menu-prev-item)
     (define-key map [wheel-left] 'tty-menu-prev-menu)
     (define-key map [wheel-right] 'tty-menu-next-menu)
     ;; The following 4 bindings are for those whose text-mode mouse
     ;; lack the wheel.
-    (define-key map [S-down-mouse-1] 'tty-menu-next-item)
+    (define-key map [S-mouse-1] 'tty-menu-next-item)
     (define-key map [S-drag-mouse-1] 'tty-menu-next-item)
-    (define-key map [S-down-mouse-2] 'tty-menu-prev-item)
+    (define-key map [S-mouse-2] 'tty-menu-prev-item)
     (define-key map [S-drag-mouse-2] 'tty-menu-prev-item)
-    (define-key map [mode-line drag-mouse-1] 'tty-menu-select)
-    (define-key map [mode-line down-mouse-1] 'tty-menu-select)
+    (define-key map [S-mouse-3] 'tty-menu-prev-item)
+    (define-key map [S-drag-mouse-3] 'tty-menu-prev-item)
     (define-key map [header-line mouse-1] 'tty-menu-select)
     (define-key map [header-line drag-mouse-1] 'tty-menu-select)
-    (define-key map [header-line down-mouse-1] 'tty-menu-select)
-    ;; The mouse events must be bound to tty-menu-ignore, otherwise
-    ;; the initial mouse click will select and immediately pop down
-    ;; the menu.
-    (define-key map [mode-line mouse-1] 'tty-menu-ignore)
-    (define-key map [mode-line mouse-2] 'tty-menu-ignore)
-    (define-key map [mode-line mouse-3] 'tty-menu-ignore)
-    (define-key map [mode-line C-mouse-1] 'tty-menu-ignore)
-    (define-key map [mode-line C-mouse-2] 'tty-menu-ignore)
-    (define-key map [mode-line C-mouse-3] 'tty-menu-ignore)
-    (define-key map [mouse-1] 'tty-menu-ignore)
-    (define-key map [C-mouse-1] 'tty-menu-ignore)
-    (define-key map [C-mouse-2] 'tty-menu-ignore)
-    (define-key map [C-mouse-3] 'tty-menu-ignore)
+    ;; The down-mouse events must be bound to tty-menu-ignore, so that
+    ;; only releasing the mouse button pops up the menu.
+    (define-key map [mode-line down-mouse-1] 'tty-menu-ignore)
+    (define-key map [mode-line down-mouse-2] 'tty-menu-ignore)
+    (define-key map [mode-line down-mouse-3] 'tty-menu-ignore)
+    (define-key map [mode-line C-down-mouse-1] 'tty-menu-ignore)
+    (define-key map [mode-line C-down-mouse-2] 'tty-menu-ignore)
+    (define-key map [mode-line C-down-mouse-3] 'tty-menu-ignore)
+    (define-key map [down-mouse-1] 'tty-menu-ignore)
+    (define-key map [C-down-mouse-1] 'tty-menu-ignore)
+    (define-key map [C-down-mouse-2] 'tty-menu-ignore)
+    (define-key map [C-down-mouse-3] 'tty-menu-ignore)
     (define-key map [mouse-movement] 'tty-menu-mouse-movement)
     map)
   "Keymap used while processing TTY menus.")


reply via email to

[Prev in Thread] Current Thread [Next in Thread]