From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Howard Melman Newsgroups: gmane.emacs.devel Subject: Re: transient Date: Mon, 18 May 2020 14:41:28 -0400 Message-ID: References: <5230692c-c665-a330-7a12-e59fa25d97dd@gmail.com> <70bb51fd-447d-928c-4d69-1c9673a44471@online.de> <871rnnvmdx.fsf@red-bean.com> <87pnb7sira.fsf@red-bean.com> <06bcddd4-6991-e4f7-e944-93de14af263d@yandex.ru> <87h7wjsd8o.fsf@red-bean.com> <20897f01-122d-7f91-eac2-70f5ad75796f@yandex.ru> <87d077qfmm.fsf@red-bean.com> <806193B0-1248-4522-83F1-21FA8206C5A8@traduction-libre.org> <87imgtlofi.fsf@fastmail.fm> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="114903"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (darwin) To: emacs-devel@gnu.org Cancel-Lock: sha1:KsxKRSrT9cwxKQTsb3nrXhcCsZU= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon May 18 20:42:08 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 1jakiF-000Tn3-W7 for ged-emacs-devel@m.gmane-mx.org; Mon, 18 May 2020 20:42:07 +0200 Original-Received: from localhost ([::1]:47984 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jakiF-0003bo-1G for ged-emacs-devel@m.gmane-mx.org; Mon, 18 May 2020 14:42:07 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:48824) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jakhn-0003CC-1x for emacs-devel@gnu.org; Mon, 18 May 2020 14:41:39 -0400 Original-Received: from ciao.gmane.io ([159.69.161.202]:32854) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jakhl-0004Au-VH for emacs-devel@gnu.org; Mon, 18 May 2020 14:41:38 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1jakhj-000TCe-F6 for emacs-devel@gnu.org; Mon, 18 May 2020 20:41:35 +0200 X-Injected-Via-Gmane: http://gmane.org/ Received-SPF: pass client-ip=159.69.161.202; envelope-from=ged-emacs-devel@m.gmane-mx.org; helo=ciao.gmane.io X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/18 13:15:37 X-ACL-Warn: Detected OS = Linux 3.11 and newer [fuzzy] X-Spam_score_int: 3 X-Spam_score: 0.3 X-Spam_bar: / X-Spam_report: (0.3 / 5.0 requ) BAYES_00=-1.9, DKIM_ADSP_CUSTOM_MED=0.001, FORGED_GMAIL_RCVD=1, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, NML_ADSP_CUSTOM_MED=0.9, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN 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:250799 Archived-At: Joost Kremers writes: > On Mon, May 18 2020, Richard Stallman wrote: >> > I like it very much because it helps see the rationale behind >> > keybinding. After a while you get to learn the bindings for the >> > commands you use the most and you can easily explore >> > new commands. >> >> For those that know Transient -- do you think it would provide that >> benefit too? > > Well, which-key simply displays existing keybindings. A package author > doesn't have to do anything, which-key just works. > > Transient OTOH defines its own key sequences, so you can't use it to > show users existing keybindings. If a package author wants their > package to work with transient, they have to define transient menus > for all functionality they want to expose. Agreed. I've used both. which-key let's me explore existing bindings with no effort. Type C-x r and wait a second and see all the rectangle and register commands. It was great for learning the M-s and M-g keymaps when they were added. which-key has been very helpful for learning bindings and I think it would be great addition to core. Though for a busy keymap it can take a second to read it to find what you want. The C-h map is a perfect example. I've written a few transients that I've found useful, including one for help and others for customize, ediff, frame commands and one that toggles a ton of different minor modes and visual features. Unlike which-key, transient allows you to specify the order and groupings of bindings when activated which can make scaning and learning them much easier hydra is a similar package to transient in that you can define such temporary keymaps and customize a help display that's shown while using it. It has advantages and disadvantages but so far I've prefered transient. -- Howard