Skip to content

Commit 6e4fb8d

Browse files
authored
Merge pull request #8 from jcs-PR/oc
Fixed #7, Right click regenerate the menu at the new location.
2 parents 38018a1 + 657f012 commit 6e4fb8d

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

right-click-context.el

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -207,15 +207,24 @@ You probably want to just add follows code to your .emacs file (init.el).
207207
(call-interactively #'mouse-set-point))
208208
(right-click-context-menu))
209209

210+
(defun right-click-context--click-menu-popup ()
211+
"Open a new right click context menu at the new mouse position."
212+
(interactive)
213+
(when (memq this-command '(right-click-context-click-menu))
214+
(popup-delete (nth (1- (length popup-instances)) popup-instances))
215+
(call-interactively #'right-click-context-click-menu)))
216+
210217
;;;###autoload
211218
(defun right-click-context-menu ()
212219
"Open Right Click Context menu."
213220
(interactive)
214-
(let ((value (popup-cascade-menu (right-click-context--build-menu-for-popup-el (right-click-context--menu-tree) nil))))
215-
(when value
216-
(if (symbolp value)
217-
(call-interactively value t)
218-
(eval value)))))
221+
(let ((popup-menu-keymap (copy-sequence popup-menu-keymap)))
222+
(define-key popup-menu-keymap [mouse-3] #'right-click-context--click-menu-popup)
223+
(let ((value (popup-cascade-menu (right-click-context--build-menu-for-popup-el (right-click-context--menu-tree) nil))))
224+
(when value
225+
(if (symbolp value)
226+
(call-interactively value t)
227+
(eval value))))))
219228

220229
(provide 'right-click-context)
221230
;;; right-click-context.el ends here

0 commit comments

Comments
 (0)