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: [External] : Re: discoverability, better defaults and which-key in Emacs Date: Mon, 5 Feb 2024 15:04:43 +0000 Message-ID: References: <874jetaxri.fsf@jeremybryant.net> <86fryc1vsh.fsf@gnu.org> <86r0hu4qk8.fsf@gnu.org> <86eddu3pbd.fsf@gnu.org> <87eddr5y8i.fsf@subvertising.org> 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="23411"; mail-complaints-to="usenet@ciao.gmane.io" To: Divya Ranjan , "emacs-devel@gnu.org" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Feb 05 16:05:29 2024 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 1rX0XH-0005nn-QQ for ged-emacs-devel@m.gmane-mx.org; Mon, 05 Feb 2024 16:05:28 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rX0Wp-0006UZ-Fz; Mon, 05 Feb 2024 10:04:59 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rX0Wm-0006PM-0D for emacs-devel@gnu.org; Mon, 05 Feb 2024 10:04:57 -0500 Original-Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rX0Wi-0000Sb-Ad for emacs-devel@gnu.org; Mon, 05 Feb 2024 10:04:55 -0500 Original-Received: from pps.filterd (m0246630.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 415DWTj5017648; Mon, 5 Feb 2024 15:04:50 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2023-11-20; bh=z1HCNUC0ZezaM73QxIM6iUOyToUGqNQw7U8w+gdcg58=; b=CX7Z+k4F33pwcmEQ66Y2y7SGV09OIlSybkI3VwQWHTMTFnmnDh5AXZ4HxcXJXQVzKp1N XolUEzlmO2JGe3hrJ011FXCmBkgwB1KVNG8M0AFvbWVIfWCmnT9HJo0Mi0gFacsLLNDh oscLzsHJknqQ+Rb1E/vuF674vU7m4XbaEn/PMz8votk3xQmdyyMB5WHmox2kq/6CvZ2i mkXmB4D0IOg0OP7RR19wWs3Pd2OJbsIGF4Rj2aZhGxHHs0aj8w92k39Tbzg1WiOXs4eO ST5CZ+Uew9bqwpJMMqkYrt6TawjvONFzKIz54ceiCRWhBwWzP3eq6qsT4/9oyezLeZbY Ew== Original-Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3w1bwem4wp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 05 Feb 2024 15:04:49 +0000 Original-Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 415EpnRM036765; Mon, 5 Feb 2024 15:04:49 GMT Original-Received: from nam02-dm3-obe.outbound.protection.outlook.com (mail-dm3nam02lp2040.outbound.protection.outlook.com [104.47.56.40]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3w1bx5tk2m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 05 Feb 2024 15:04:48 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kPHHCGRoUx4eY9vwI5JilY3ZXga4AwpOhrN3PxAw/EORr+AltyHOQOv468MQZJlyDmQn1HsTbxMAAacYXJ3J4CaHOpZmPPWrNwCGVGgGE5f5TDVIchQ+GFxP8D7LH8WSqYDNHSQH/TEDVr0OfffyO2n3FEbDH8dajeP67Y6/lzlMCavTim6W1i2dn8g0RpRWcQ9A0RC3Kv8mcns5TcQnf4n4KRXnfY2NxrEBopoQSUV4RLQ+xWljRhXoQjJbg5iQvXVxbnw7cXb52qa74+czCWjwMjN+OlKXdmBG1aTD9nzOuHgj7gew4Jnyi6+FaagZWglYFjjFyU8UBvHX0DXv6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=z1HCNUC0ZezaM73QxIM6iUOyToUGqNQw7U8w+gdcg58=; b=FsPZcZ+BJZ45+0ByDbu9g9NZqAYrBC8PetEvwbUBb/Dbt7tXbFPD//CYJfsJKdJkK7UB68R3RTsXaG2r5nbZI4XKJ3bq7DEmp2e4YkDSxjzPr4Xj65Zx0deGF9wKFQ0UWD9MrU0zq4wXOI4pWNsPo5kPru1SphN/A3dI6H4f+DVX+7fdP9sgHQAfKJh1vRJYpcOtKRRkuKGsstLUjOVpkz49raZPtIpflqZ2ibz2/9SGGQSBYcV/eiymVQHW8+F5F77NcQxB1O7O9JT4fQP0tVu7pxb0hZ1JWHjm+5608lhjRkKEaqeYxnTweuKyrsnWCjTj+x5siQ/Buxb6yXb3Zg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=z1HCNUC0ZezaM73QxIM6iUOyToUGqNQw7U8w+gdcg58=; b=XNt+HMa77vdhqwp+f3leuimYUwdakW4hRplGchMvLIi2XmsusOsxp5pCdmH3fHjNwOjrneCgsXSZoOXx96jFOAhPxzIukg7U25CzQor77wLz8XaNRQfLEi8iVTeQidLeh/A+ZmVwdKruBRMJtc0AV0XlJ6xi1gUVYj9fPX6Lyfo= Original-Received: from SJ0PR10MB5488.namprd10.prod.outlook.com (2603:10b6:a03:37e::19) by SA1PR10MB6391.namprd10.prod.outlook.com (2603:10b6:806:257::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.34; Mon, 5 Feb 2024 15:04:45 +0000 Original-Received: from SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::7eb0:e361:caf4:a410]) by SJ0PR10MB5488.namprd10.prod.outlook.com ([fe80::7eb0:e361:caf4:a410%4]) with mapi id 15.20.7249.027; Mon, 5 Feb 2024 15:04:43 +0000 Thread-Topic: [External] : Re: discoverability, better defaults and which-key in Emacs Thread-Index: AQHaV+w+20jHpG5TCUq5s1lzlq83QLD7zC2w In-Reply-To: <87eddr5y8i.fsf@subvertising.org> Accept-Language: en-US Content-Language: en-US x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ0PR10MB5488:EE_|SA1PR10MB6391:EE_ x-ms-office365-filtering-correlation-id: 37b18dd7-0778-41c8-c78d-08dc265bc8b1 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: +4oo6nZx52auibkv+KlLh3kO/7f/A8DXafy4NHFhu2wOvJGAI+gQUDLokyZjtvMwJeMQHZy9I/NDOaT/K844f52xfEk5o555yktWuoT5v4IGbZZ1P57LjNjtgTcz1lgHjKnwAeuo1DVOVItSMwGGXh2EbKnA1p37e10s64r4Lf+pIj9EFOGQmJ4B2mRsJbw/kQuaOQ0w6b1RMtTUT8pZZ49yxgSAVKRFR43CUreJAggLHolkCuCKKNlAWsSPtNCSLSnACKers2T9PWzH/EJMHRBRKZPEl/HwtlrWhhPlBPOLM13JvjtbigdSKzLE/TaJqEIl6NpeF8Z28D+iucjqmPAtH94KHN+KtM1B9eY9/QDm1lTQf+HfGtSpgN5FYjYn/v6Ymw2FCPnCxbfivng+8fstVVsBYFjNqhFD6cJLGrraYdujCyR+sm9vPGUQSDRY3A1vTJ+qgbpdhLj9aVJiE+efgMJLV8S1j439vagYhsyJ44k0oDEiocZxGACD1u8aruNnCNCXBDpiVduGvfQzv9W7nXZ585+cxkE3tSf1ycRsIArN2W90QOk4CMQfjjY0doz7/80xHt4BwHx6WxBQvMTDRyrq+PVpUO9yLyIejpOK2DUY2gGCGlSGzm8Qey1K x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR10MB5488.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(39860400002)(396003)(366004)(376002)(346002)(136003)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(41300700001)(76116006)(66946007)(66476007)(110136005)(7696005)(6506007)(9686003)(8676002)(478600001)(33656002)(71200400001)(66556008)(64756008)(38070700009)(66446008)(52536014)(316002)(8936002)(122000001)(38100700002)(26005)(83380400001)(86362001)(5660300002)(44832011)(2906002)(55016003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?Vjzth41cL5ngyUyaaD6MH9v77YTpt4bcS0e2axulqYBGwqPh8TYI/euzIPbg?= =?us-ascii?Q?iAmU7OC7jusrN+6PqOi0haE3Vbz1NLqOw8dfW7GnAjUvXAVgVo7XijIbtcBy?= =?us-ascii?Q?2iQe2Y8vDcDavBGHQAcrC0bwROUC9YIeu/SIc0Ikn5mEl68KCs9lce2jYLvo?= =?us-ascii?Q?W4T/YEwl858jRQVsgnJnWcZQOZMVFyQSMnNW9qR/XO1bjQa6nmmc6yfs8znI?= =?us-ascii?Q?wDBwcNY0yUGXMrs4S3LeuQLAwtTy6r3GwGDDoTfgLgyzPX76APd+2mn0Minm?= =?us-ascii?Q?PlwN59w2YpEpUgRtTnEMz4Nwz0TbAqvnATz3rZig7+GByYeyxV4yD6ZlBiqW?= =?us-ascii?Q?0B1t+HAu2em0iFLzH+xyixRzdn3FoQMn30Du9jQuzfsFbGVWUeF/H+KJLjMU?= =?us-ascii?Q?w8iwyIPhSqx2NUm1fPLqk3BzCjIbo7/3KyJkYnrTouQx/pBnUM0ibiUFNrYW?= =?us-ascii?Q?B4VqmAdnLgfrgGQHVTBbaV6pThWVzLBsBhABZ2PbRjGUYnUdXc7WazUer6Xl?= =?us-ascii?Q?dJXw9yM+l0aKJznwOujXZJU50w/qjxjtnaC7Gw37lh+inktVrv2YmaoX0DY5?= =?us-ascii?Q?XcrG/Gb9ZOe4vQXaipdKUkah+9ALTdZQYew9D2JLuWpBUwEY81pPwt8YOsf7?= =?us-ascii?Q?a0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: gMoA1srIKfoJ03P+/bfmEHvmCFDgbt7ndYbfTyMplGlD6wsVRIXBplGpvC6clgSjxY76bRyBzGEhmCsp1pSyfj3oRNU6DtOjxL5X3EPi6chu/W3aUSNw8ZQ5cW1ivFolVvJKG+v3292s7sxUDYV33O98RvO42umv9+9R65yaScFGBLgnx1iiEuuEKrr7k4WZigSYjoxpGD4t+KcvhVW64WNdR2Y+y+c6OMyo5uKb+Y5x3L3clHiULQbwZYvTBEthfDFOxVKDcFi57+QAFY/RNW4TNek+k2GXSLxvilTZZvwMIFHAsV4s7YM1sB2TH6HO0/R875lOPu/iJWZetuLjYd0BWBVCqgfdYBQ220i9LHCUSCBe3O2JLrPn60vLxzzpt1K3vMNLsQhkyb67yzHXJmL2E6GJap0uUPOe392T4rF8z3annFb6oJl3L7nhsA358NOI8mzvQfdegK6Fwgj4kS9D94T+oeurV7a9c07RZ76GJDuef3QOcClHF32LhiAVdM7Q0yDIcjHgbzR0xO2nNYZjn1/wriNItEkhFUCFEB3eJDQxoZSVg+RxlFzW50KURQ5rk7xa4aJGOficsXYNOqAPbYMwbgkhoybq0q0Cu3c= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB5488.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 37b18dd7-0778-41c8-c78d-08dc265bc8b1 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Feb 2024 15:04:43.0293 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 6C6lLJXxtiS0lWokUAzsHqTFK2vN8fOp/zGKiIgKMBfbkahqpbAYoBFyrD5oxj3kvYGzokeY4IO36ldTqSpPcg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB6391 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-02-05_09,2024-01-31_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=7 phishscore=0 bulkscore=0 mlxlogscore=110 suspectscore=0 adultscore=0 spamscore=7 malwarescore=0 mlxscore=7 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2402050114 X-Proofpoint-ORIG-GUID: z1sATe_wbj4WIR30yhp_osmuCBjrNRq3 X-Proofpoint-GUID: z1sATe_wbj4WIR30yhp_osmuCBjrNRq3 Received-SPF: pass client-ip=205.220.177.32; envelope-from=drew.adams@oracle.com; helo=mx0b-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:315894 Archived-At: > > Not to distract, but FYI library `keysee.el' is > > an alternative to which-key. Less known, some > > differences, maybe worth checking out. >=20 > The dependency on `sortie.el` is actually cumbersome, Sortie is completely general - independent of keysee (which depends on it). Sortie can be used to interactively sort candidates for any kind of completion. I think this sorting is important enough for KeySee that it should require Sortie, not make its use optional. Of course, if Emacs already had Sortie or an equivalent then no explicit requiring would be needed by KeySee. ;-) > `keysee.el` implements a totally non-intrusive > mini-buffer completion for keybinding suggestions. >=20 > I remember using `which-key` and implementing > golden-ratio to my windows, things messed up > because `which-key` suggestions are in a > proper window, thus potentially intrusive. > One can fix this, as a lot of people do but if > this is to be integrated into core Emacs one > needs to take care of that. That's indeed another difference. I'm likely less aware of all the differences because I don't use which-key. ;-) (I don't use KeySee either, in fact. I use Icicles. KeySee is actually a reduced-functionality version of Icicles key completion.) The main difference from which-key is no doubt that KeySee completes against key _names_ (and their command names, as I mentioned), and not keystrokes themselves. This means that you type text to complete key names, instead of hitting those keys themselves. [As a shortcut, `M-q ' inserts the name of , so you can get almost the same effect as which-key, when you want that. It would be possible/easy to even obviate needing to hit `RET', but I haven't added that option (except in Icicles).] KeySee is thus a bit less just-hit-keys and a bit more of a discover-and-explore feature. In particular, this means you can, any time, fully explore the entire domain of keys available at that time (current context). You can always, for example, _backtrack_, that is, go back up from wherever you are, down inside a sequence of prefix keys. E.g., after getting down into `C-x 4' you can go back up to completing just `C-x'. And then you can go back down again, or down another prefix key's branch (e.g. `C-x 8'), etc. You go up by using the always-available (except at top level) special completion `..', that is, you type `..' to go back up from completing a prefix key. The domain of "keys" available includes the forest of menu-bar menus. So you can use KeySee to explore those as well. And a separate command, `kc-complete-menu-bar' does _only_ that: complete menu-bar menus. > Honestly, I believe if we can just add it > as a part of the customizable UI then it'd > be great. Just like we have `ido-completion`, > or the ability to have menu items on the GUI, > we can add a keybinding completion system > and put it on the manual. People should > discover it from Emacs Manual, as they > discover other things such as customizing > the UI. Making such features immediately > visible to the user is a complex problem to > solve, which can't be solved right away. > But a feature like this _can_ be implemented > and should be alongside the discussion on > discoverability and what 'defaults' Emacs > should be shipped with. The use of KeySee features is, and should be, optional. You turn them on/off using minor modes. As for inclusion of KeySee & Sortie in Emacs, I should say that I don't particularly want to develop/maintain them in/for Emacs. If someone wants to do that, they can do so. They're tiny libraries.