emacs-devel
[Top][All Lists]
Advanced

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

Re: Context menus and mouse-3


From: Juri Linkov
Subject: Re: Context menus and mouse-3
Date: Fri, 16 Jul 2021 01:31:25 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu)

>> To pop up it immediately, I see no better way than currently
>> is implemented for C-down-mouse-3 because then C-h k C-down-mouse-3
>> works smoothly as well as Undo selected from the menu keeps undoing
>> on consequent calls, etc.
>
> Indeed.  Maybe we can bring them together by (when
> `mouse-3-down-context-menu` is t) using a remapping from `down-mouse-3`
> to `context-menu`.  It seems pretty intrusive, tho :-(

I don't know what I did wrong but this does nothing:

  (global-set-key [down-mouse-3] [context-menu])
  (global-set-key [context-menu]
    `(menu-item ,(purecopy "Context Menu") ignore
      :filter (lambda (_) (mouse-context-menu-map))))

whereas this works fine:

  (global-set-key [down-mouse-3]
    `(menu-item ,(purecopy "Context Menu") ignore
      :filter (lambda (_) (mouse-context-menu-map))))

> Maybe a better option is to make it so the `context-menu` event is kept
> internal (give it a less attractive name), i.e. just an implementation
> detail for the case where the menu pops up after a delay.

A minor mode will also need to remove this binding

  (define-key key-translation-map [mouse-3]
    #'mouse--click-3-maybe-context-menu)

when `mouse-3-down-context-menu` is t, and to unbind
[mouse-3] from 'mouse-save-then-kill' because sometimes
'mouse-save-then-kill' still gets called, I haven't investigated why.



reply via email to

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