From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: "Drew Adams" Newsgroups: gmane.emacs.devel Subject: RE: when to bind *down-mouse* vs *mouse*? Date: Wed, 8 Dec 2004 11:06:21 -0800 Message-ID: References: <877jnto9gq.fsf@confusibombus.emacswiki.org> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1102532868 19502 80.91.229.6 (8 Dec 2004 19:07:48 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 8 Dec 2004 19:07:48 +0000 (UTC) Cc: Luc Teirlinck , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Dec 08 20:07:41 2004 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1Cc7A4-0007Xi-00 for ; Wed, 08 Dec 2004 20:07:40 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1Cc7Jv-0005np-NM for ged-emacs-devel@m.gmane.org; Wed, 08 Dec 2004 14:17:51 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1Cc7JR-0005eJ-9g for emacs-devel@gnu.org; Wed, 08 Dec 2004 14:17:21 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1Cc7JO-0005c9-PR for emacs-devel@gnu.org; Wed, 08 Dec 2004 14:17:20 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1Cc7JN-0005bU-GW for emacs-devel@gnu.org; Wed, 08 Dec 2004 14:17:17 -0500 Original-Received: from [148.87.2.204] (helo=inet-mail4.oracle.com) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.34) id 1Cc79E-0004bH-2D for emacs-devel@gnu.org; Wed, 08 Dec 2004 14:06:48 -0500 Original-Received: from inet-mail4.oracle.com (localhost [127.0.0.1]) by inet-mail4.oracle.com (Switch-3.1.4/Switch-3.1.0) with ESMTP id iB8J6V65019152; Wed, 8 Dec 2004 11:06:31 -0800 (PST) Original-Received: from rgmsgw301.us.oracle.com (rgmsgw301.us.oracle.com [138.1.191.50]) by inet-mail4.oracle.com (Switch-3.1.4/Switch-3.1.0) with ESMTP id iB8J6N2I019066; Wed, 8 Dec 2004 11:06:28 -0800 (PST) Original-Received: from rgmsgw301.us.oracle.com (localhost [127.0.0.1]) by rgmsgw301.us.oracle.com (Switch-3.1.4/Switch-3.1.0) with ESMTP id iB8J6NJh008439; Wed, 8 Dec 2004 12:06:23 -0700 Original-Received: from dradamslap (dhcp-amer-csvpn-gw2-141-144-84-174.vpn.oracle.com [141.144.84.174]) by rgmsgw301.us.oracle.com (Switch-3.1.4/Switch-3.1.0) with SMTP id iB8J6LaF008430 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NO); Wed, 8 Dec 2004 12:06:22 -0700 Original-To: "Alex Schroeder" X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0) In-Reply-To: <877jnto9gq.fsf@confusibombus.emacswiki.org> X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441 Importance: Normal X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:30877 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:30877 Assume an environment where you can press mouse-down, and a popup-menu appears. Keeping the mouse button pressed, move to the menu entry you want to pick and release the mouse button. This kind of behaviour is possible for some systems (eg. xman for X11). Binding a menu to mouse-up would make this menu unusable on these systems. The menu won't appear unless you release the mouse, but it will disappear as soon as you release the mouse... That's why I think we want mouse-down for popups. I guess you are saying that there are some platforms where popup menus must be opened on down-mouse*; they don't play well with just mouse* (mouse-up). If that is the case, then I suppose you are right that opening popup menus should be bound to down-mouse* and not mouse* - in order to work on all platforms. Assuming this, we've identified these contexts so far for down-mouse* vs mouse* binding recommendations for users: 1. when clicking a sensitive area (button, link) to trigger an action - bind mouse* (so the user can change his mind after mouse-down and move away to cancel the action) 2. when the position of the mouse action is important (and not case 1) - bind down-mouse* (e.g. yank text where button is pressed) 3. opening popup menus - bind down-mouse* (to work correctly on problem platforms, as mentioned above) Do others agree with these guidelines? Are there others? I think that whatever guidelines we can agree on should find their way into the Emacs doc, to promote consistency in Lisp libraries. - Drew