From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Tak Kunihiro Newsgroups: gmane.emacs.devel Subject: Re: Changing default mouse bindings Date: Wed, 10 Jan 2018 13:34:37 +0900 Message-ID: <86y3l6qqle.fsf@misasa.okayama-u.ac.jp> References: <0ad9af94-11cc-4dae-841f-f2918342d1bf@default> <7f5a496c-1ea7-4f0c-a2f5-4e5307d7ee82@default> <87fu9heq03.fsf_-_@gmail.com> <86y3n83183.fsf@misasa.okayama-u.ac.jp> <86lgj54xpd.fsf@misasa.okayama-u.ac.jp> <838tf5id1e.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1515558782 14266 195.159.176.226 (10 Jan 2018 04:33:02 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 10 Jan 2018 04:33:02 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (windows-nt) Cc: charles@aurox.ch, johnw@gnu.org, emacs-devel@gnu.org, Tak Kunihiro , agrambot@gmail.com, Eli Zaretskii , drew.adams@oracle.com To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Jan 10 05:32:57 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eZ84J-00032B-Mr for ged-emacs-devel@m.gmane.org; Wed, 10 Jan 2018 05:32:51 +0100 Original-Received: from localhost ([::1]:42771 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZ86J-0002oC-4o for ged-emacs-devel@m.gmane.org; Tue, 09 Jan 2018 23:34:55 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:57640) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZ86C-0002nl-JI for emacs-devel@gnu.org; Tue, 09 Jan 2018 23:34:49 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eZ867-00018L-Mz for emacs-devel@gnu.org; Tue, 09 Jan 2018 23:34:48 -0500 Original-Received: from mail-pl0-x230.google.com ([2607:f8b0:400e:c01::230]:43595) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eZ867-00017A-HA; Tue, 09 Jan 2018 23:34:43 -0500 Original-Received: by mail-pl0-x230.google.com with SMTP id z5so6589684plo.10; Tue, 09 Jan 2018 20:34:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=hGH7ZbnHbOtUXYXP1eYE6UXkyX1Kom8qc7lKu1b3Ld0=; b=hr0dMZh1HSQbylUvu51RXfWryVDgGUdnTyZF5Iedi/NXcGbSHnPI0nN5hvcbiLsek4 hYwX1HX3pnstLf2v20rn+9RPJpfQJ62ssMLgAqCUrzPCgesA5VW4o6x5U0KuN3ekohWH SA5BoKXFYuKVzLHZmxKmVhFDMbcRL7HMnZeF92n7B7wvgoZilL3kVEl0ljMP6g8qN8Ft rQ4whv6FFKSG+sol9XEMyFqzeDva3ayNoJwpl05taLcv/Yck4gtbH5qv3k35txXLtYh7 Clfwjnxp3ctnxV06V9xnPH9HlhiUfA6xgQzBuCrS4ebvcvXEWl4F+h7ayJj6L/UKUEF8 ZkGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=hGH7ZbnHbOtUXYXP1eYE6UXkyX1Kom8qc7lKu1b3Ld0=; b=HWEBA1/oP3XHnAwhkEosHn5CvLMfA/zc0HC/l/HGBQF+COhaVkF4SJ1kqb2SJj3oUM LDNQ+RKVhONhsdkH8A+J+EixXC3NT2zZiyoFPPn3u9Dq3Jf3lVrKblEq5MoewE0PooBw RHuaduVtmNuRcENO0ZZrorDz7ICOo+LognvzFcZf4kwkXHuIm49vUAZuDaqKFOAquFC6 IyouGLQWi5JFci2EirM6RDqlCHMPHKfJtFnub7BKdq0LauokFuqFb6aC+ezFTND5obml dfs4BBFaL2sVzvQRfPrafGkWp+197m0Z8SyoItvIfwBMVDtK+iYrzB+rzp/C0dURrH2O jMiQ== X-Gm-Message-State: AKwxytf2Eq7/9zro2y62Y0ermlaVo3bUJRTymrZZcmy9ZF1YoYl0QbSK Z1gOboFhyJLgw5HOWgqKei12rzPC X-Google-Smtp-Source: ACJfBouYYxJBQcSkPHdSmy9cw6S9M1Sb96vw7KKLiMSyL8qpNdBulI//ElMDATD9olJe/SX7H+gZSA== X-Received: by 10.159.206.204 with SMTP id x12mr2525099plo.238.1515558882154; Tue, 09 Jan 2018 20:34:42 -0800 (PST) Original-Received: from thinkless2017 (vesta.misasa.okayama-u.ac.jp. [150.46.48.154]) by smtp.gmail.com with ESMTPSA id y7sm32393322pfy.96.2018.01.09.20.34.39 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 09 Jan 2018 20:34:41 -0800 (PST) X-Google-Original-From: Tak Kunihiro In-Reply-To: (Stefan Monnier's message of "Fri, 17 Nov 2017 10:28:52 -0500") X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400e:c01::230 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:221774 Archived-At: > Maybe we could do something like the code below. The intention is to > make it reasonably easy to add functions to the hook that add a few > elements to the menu, and to also make it possible to add functions that > completely override the default menu (e.g. for flyspell's context menu). > > (defvar mouse-context-menu-function #'mouse-default-context-menu > "Function that builds the context-menu. > Takes one argument (the EVENT that requests the menu) and should return > a list of menu items.") > > (defun mouse-context-menu (event) > "Open up the context menu." > (interactive "@e") > (let* ((menu-items (funcall mouse-context-menu-function event)) > (keymap `(keymap ,(apply #'vector menu-items)))) > (popup-menu leymap event))) I tried to test the sample code but I cannot make it work. Can you show me how to make it work? (defvar mouse-context-menu-function #'mouse-default-context-menu "Function that builds the context-menu. Takes one argument (the EVENT that requests the menu) and should return a list of menu items.") (defun mouse-context-menu (event) "Open up the context menu." (interactive "@e") (let* ((menu-items (funcall mouse-context-menu-function event)) (keymap `(keymap ,(apply #'vector menu-items)))) - (popup-menu leymap event))) + (popup-menu keymap event))) + (defun mouse-default-context-menu (event) + "Return default context menu." + (interactive "e") + menu-bar-edit-menu) + + (define-key global-map [mouse-3] 'mouse-context-menu)