From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.bugs Subject: bug#41532: Why use the mouse in Emacs? Date: Tue, 26 May 2020 21:57:37 -0700 (PDT) Message-ID: References: <87zh9vgbkc.fsf@laposte.net> <304f1cd0-045c-4f34-924c-2ae2ca072cc0@default> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="62816"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Kevin Vigouroux , 41532@debbugs.gnu.org To: Dmitry Alexandrov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed May 27 06:59:09 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jdo9l-000GEr-71 for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 27 May 2020 06:59:09 +0200 Original-Received: from localhost ([::1]:34378 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jdo9j-0002yi-T1 for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 27 May 2020 00:59:07 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:38944) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jdo9e-0002yb-2p for bug-gnu-emacs@gnu.org; Wed, 27 May 2020 00:59:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:36445) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jdo9d-0001BG-ON for bug-gnu-emacs@gnu.org; Wed, 27 May 2020 00:59:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jdo9d-0008Pv-M9 for bug-gnu-emacs@gnu.org; Wed, 27 May 2020 00:59:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 27 May 2020 04:59:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41532 X-GNU-PR-Package: emacs Original-Received: via spool by 41532-submit@debbugs.gnu.org id=B41532.159055548732294 (code B ref 41532); Wed, 27 May 2020 04:59:01 +0000 Original-Received: (at 41532) by debbugs.gnu.org; 27 May 2020 04:58:07 +0000 Original-Received: from localhost ([127.0.0.1]:47991 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jdo8k-0008Oo-MD for submit@debbugs.gnu.org; Wed, 27 May 2020 00:58:07 -0400 Original-Received: from userp2120.oracle.com ([156.151.31.85]:51644) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jdo8i-0008OK-O1 for 41532@debbugs.gnu.org; Wed, 27 May 2020 00:58:05 -0400 Original-Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 04R4vjjf100630; Wed, 27 May 2020 04:57:58 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2020-01-29; bh=XAhVWuV0qzW14Y3Hg8hsauji9/ali79gJAN1W8hQ2qs=; b=SyOJTEvbM6aWE+zjG4mfrtc+1vDkrf+lyoNfV/9kRelpZlf6c10PitMQY1UiENbLFVbq 6wPyU6HhbPyLrzpxx2T3CMaEnh6KBxVmRnUN8UbdyjOTKy9Hgp//jKWkFF0nFtumS/Qj a81Fj3D+zTiuL2ILVHz02GnGq2/W3OrviF56Ol/DQxXpqPi7WLQhY+TJMkWtaGqIZnRl ORrHuswwZcufEEmnegYw+rkBz56fA3bYDY+iqYsPsZleP9GRW5BCMfPeDtaJfOe7VL4k 80OtMChp6xMP7Yd2jzkwCNhE7oLrwjW3hhlD8Ye22Wq3eBmu6zO2OS3dyez6S7CouIxm Xw== Original-Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by userp2120.oracle.com with ESMTP id 318xbjwb13-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 27 May 2020 04:57:58 +0000 Original-Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 04R4vcCc021174; Wed, 27 May 2020 04:57:57 GMT Original-Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by aserp3020.oracle.com with ESMTP id 317j5qn56r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 27 May 2020 04:57:57 +0000 Original-Received: from abhmp0011.oracle.com (abhmp0011.oracle.com [141.146.116.17]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 04R4vlFU023003; Wed, 27 May 2020 04:57:51 GMT In-Reply-To: X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.5005.0 (x86)] X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9633 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 spamscore=0 suspectscore=0 mlxlogscore=999 mlxscore=0 adultscore=0 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2005270036 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9633 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 spamscore=0 mlxscore=0 lowpriorityscore=0 priorityscore=1501 phishscore=0 cotscore=-2147483648 suspectscore=0 bulkscore=0 clxscore=1011 impostorscore=0 malwarescore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2005270036 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:181085 Archived-At: > > The difference from some other applications, I think, is that some > applications pretty much _require_ you to use a mouse. What you say in reply to that statement is apropos. But just to be clear, I was really talking not - as you have, about accessing menus, dialog boxes, etc. by using the keyboard - but just about using the keyboard the way Emacs usually does when dialoging. Responding to prompts with text or char choices, using completion, etc. are alternatives that Emacs often uses to what other apps might use menus or dialog boxes for. > Yep, and that=CA=BCs partly true even for Emacs. Especially, when it=CA= =BCs > built with no GTK. IIRC, Lucid popup menus once were usable without > mouse, but they are not anymore for some reason, while --with-x- > toolkit=3Dno menus have never been. >=20 > There is M-x tmm-menubar, of course, but besides main menu there are > also context menus. I have not done a good research, but at first > sight I=CA=BCve failed to figure out how to access them without falling b= ack > to mouse. Indeed, such things are mostly mousy in Emacs. But as I hint at above, in many (most?) cases a menu is not such a great interaction device, with or without a mouse. ___ FYI, since you mention tmm - With my library lacarte.el [1], just as with tmm, you use the keyboard to navigate through the menu-bar forest and choose menu items. One difference is that you have the entire forest available at all times - you can access any parts of it - you can go up and down and all around. With tmm-menubar when you've gone down into a menu you can't get back up to choose a sibling, ancestor, or cousin branch to go down. But the main difference is that you can pattern-match against it, using completion. So you can go directly to some node in the forest, as opposed to drilling down step by step, forced to hit a key for every step. This pattern-matching is greatly enhanced when combined with Icicles [2], which lets you use regexp-matching etc., and which more importantly lets you chain together multiple patterns in a process of successive approximation. (Icicles also lets you act on multiple completion candidates during the same command (either sequentially or a set at a time), which makes menu exploration quite easy with the keyboard.) Pattern-matching and completion are things you can't do with a mouse. You can proceed to a node with multiple steps, e.g., completing a step at a time, as you might do when navigating the file system with completion. Or you can use a pattern that directly completes to a node (terminal or not) deep within the menu structure, much like you can do with glob patterns when using Emacs completion on the file system. > >> the Emacs graphical interface [in sense of > >> use-dialog-box and use-file-dialog] is half broken. > > > > How so? Specifically, what's the problem? >=20 > One thing that frustrated me once upon a time, was a dialog window I > got trying to close the last frame of server-less Emacs (FWIW, no mouse > was involved), that asked the usual question about saving buffers, > blocking the session, but it had _no_ =E2=80=98cancel=E2=80=99 button. Sounds like a bug, not a fundamental design flaw. Doesn't sound like anything inherent in Emacs. But if by half-broken you mean only that there are bugs, then OK. That's perhaps partly because the use of menus hasn't gotten as much love as dialogs using the keyboard, and that's perhaps because many Emacs users don't use the menus much, and many don't use a mouse much. > I could try to press =E2=80=98close window=E2=80=99 again, but it had not= been quite > obvious which of two UI design patterns Emacs would follow here: > =E2=80=94 closing the dialog window =3D cancel (this happens to be the ca= se, > after all); > =E2=80=94 repeating the destructive command twice =3D force it (like e. g= . C-d in > Bash when there are background jobs) =E2=80=94 definitely not what I want= ed. Definitely sounds like that particular dialog was poorly done. > Perhaps, I was too stupid, but it took me a certain time to came to > idea, that toolkit dialogs in Emacs might accept C-g as well (yes, they > do). And there's no mousy version of C-g. ;-) At least not in the general sense of getting you completely out of whatever you're in, no matter how deep it is. ___ [1] La Carte: https://www.emacswiki.org/emacs/LaCarte [2] Icicles: https://www.emacswiki.org/emacs/Icicles