From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: RE: Include which-key.el in the Emacs distribution Date: Tue, 8 Sep 2020 10:55:51 -0700 (PDT) Message-ID: <3aecd436-acb2-4c43-9fff-9a4b4eb700ce@default> References: <> <> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="40850"; mail-complaints-to="usenet@ciao.gmane.io" Cc: justin@burkett.cc, emacs-devel@gnu.org To: "Alfred M. Szmidt" , Stefan Kangas Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Sep 08 19:56:35 2020 Return-path: Envelope-to: ged-emacs-devel@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 1kFhr8-000ATX-UD for ged-emacs-devel@m.gmane-mx.org; Tue, 08 Sep 2020 19:56:34 +0200 Original-Received: from localhost ([::1]:53006 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kFhr8-000891-08 for ged-emacs-devel@m.gmane-mx.org; Tue, 08 Sep 2020 13:56:34 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:41522) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kFhqb-0007jp-JP for emacs-devel@gnu.org; Tue, 08 Sep 2020 13:56:01 -0400 Original-Received: from userp2120.oracle.com ([156.151.31.85]:51810) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kFhqZ-0003gv-F7; Tue, 08 Sep 2020 13:56:01 -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 088HtPDj092438; Tue, 8 Sep 2020 17:55:55 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=AF+wtnQC5RSs6IfpzZ8xcwBLbaPoQy6dR3Dkpz8NnyE=; b=qR4IUxAjIuysBMon7WlB+n5J9GEnB3ZdNMO+pFLW1lYFBhM6g04NoWfpFhbZXyLoPoZF XmF9vEJazzVB6rOAHWk5dvng16fcODAgZ4V3QTf2K+7oIuWwjkYuNchk7+SR3s7BeiGn 5h5RCHKg001BE6G4h7AqhA6AHjZACQJmxV81fpU4wTvk7l2KnHY1xgcrffTkZjGiMuVb dY8h0oUsr6Z9C0o/41k4BfCeTTjz91+QWTUuCKWOjXhTnPD7tteuHjvyRwuRAukJYfXG FOCBbyLfx2/6NrMVJ0XXAG2CVuEODyPX+b/p3MocTwDP8S2tPAnpE5xZ15wBRQPUGaHg Lw== Original-Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by userp2120.oracle.com with ESMTP id 33c3amw36d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 08 Sep 2020 17:55:55 +0000 Original-Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 088HtYJf058651; Tue, 8 Sep 2020 17:55:54 GMT Original-Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by aserp3030.oracle.com with ESMTP id 33dacj7mw0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 08 Sep 2020 17:55:54 +0000 Original-Received: from abhmp0009.oracle.com (abhmp0009.oracle.com [141.146.116.15]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id 088HtrnT005441; Tue, 8 Sep 2020 17:55:53 GMT In-Reply-To: <> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.5044.0 (x86)] X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9738 signatures=668679 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 malwarescore=0 bulkscore=0 phishscore=0 adultscore=0 suspectscore=0 spamscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2009080169 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9738 signatures=668679 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 priorityscore=1501 clxscore=1011 bulkscore=0 malwarescore=0 lowpriorityscore=0 mlxlogscore=999 suspectscore=0 adultscore=0 mlxscore=0 impostorscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2009080169 Received-SPF: pass client-ip=156.151.31.85; envelope-from=drew.adams@oracle.com; helo=userp2120.oracle.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/08 11:57:27 X-ACL-Warn: Detected OS = Linux 3.1-3.10 [fuzzy] X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:254786 Archived-At: > PS. I personally think it should be enabled by default, but we would > probably do better to first include it as an option for people to > get more experience with it. >=20 > Could the output be improved though? The current output is VERY > verbose, and quite bare and unexplanatory. On my terminal it takes up > 9 lines when just hitting C-x. It also dislikes any type of prefix > command and hides the output from those. E.g, C-h, M-o etc, where it > eats the message from the original command. >=20 > Instead why not if you press C-x in the echo area a short list of > commands could be produced that you can scroll through, similar to > which-key but not as talkative. It could say, >=20 > C-x =09=09(f - edit file, o - other window, ...) >=20 > The prefix commands C-x 4, C-x r etc could also produces such > messages. Like Emacs does for M-o. This list could be curated. >=20 > Maybe that would be a nice middle ground, not to talkative, helps the > new user and won't annoy the old farts too much? See also `keysee.el': No problem with prefix keys/commands (C-h, M-o, etc.). No problem showing available keys at top level. No problem navigating back up the key hierarchy - up, down, all around. No problem with menu-bar menus (up, down, all around). You can match keys, commands, or both. You can sort matches on the fly: * By key name alphabetically, prefix keys first * By key name alphabetically, local keys first * By command name alphabetically It does, however, show all matches in *Completions*, (as opposed to just a few matches in the echo area). If you have a way of limiting the window height of *Completions* then that would help reduce the visual overload you complain about. But maybe what you really want for that is something that decides which are the most important keys to show. Sorting *Completions* according to such "importance" (and showing it in a short window) would help with that. One easy way to automatically define such "importance" could be to sort keys by their recent frequency. https://www.emacswiki.org/emacs/KeySee https://www.emacswiki.org/emacs/download/keysee.el ___ (FWIW: If you use Icicles then you have what keysee.el offers plus much more, including control over *Completions* display, sort orders etc. https://www.emacswiki.org/emacs/Icicles_-_Key_Completion)