From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Phil Sainty Newsgroups: gmane.emacs.devel Subject: Re: [ELPA] New package: transient Date: Thu, 30 Apr 2020 22:50:40 +1200 Message-ID: References: <87368npxw4.fsf@bernoul.li> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="24142"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 Cc: Jonas Bernoulli , emacs-devel@gnu.org To: rms@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Apr 30 12:53:22 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 1jU6ok-0006C2-Ap for ged-emacs-devel@m.gmane-mx.org; Thu, 30 Apr 2020 12:53:22 +0200 Original-Received: from localhost ([::1]:57954 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jU6oj-0003gt-D0 for ged-emacs-devel@m.gmane-mx.org; Thu, 30 Apr 2020 06:53:21 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55622) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jU6nW-0002tB-Ge for emacs-devel@gnu.org; Thu, 30 Apr 2020 06:52:11 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jU6mJ-0006mF-D7 for emacs-devel@gnu.org; Thu, 30 Apr 2020 06:52:06 -0400 Original-Received: from smtp-3.orcon.net.nz ([60.234.4.44]:49703) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jU6mJ-0006iK-0K; Thu, 30 Apr 2020 06:50:51 -0400 Original-Received: from [101.53.216.144] (port=25936 helo=[192.168.20.103]) by smtp-3.orcon.net.nz with esmtpa (Exim 4.90_1) (envelope-from ) id 1jU6m9-0002Hm-7q; Thu, 30 Apr 2020 22:50:41 +1200 In-Reply-To: Content-Language: en-GB X-GeoIP: NZ X-Spam_score: -2.9 X-Spam_score_int: -28 X-Spam_bar: -- Received-SPF: pass client-ip=60.234.4.44; envelope-from=psainty@orcon.net.nz; helo=smtp-3.orcon.net.nz X-detected-operating-system: by eggs.gnu.org: First seen = 2020/04/30 06:50:43 X-ACL-Warn: Detected OS = Linux 3.11 and newer X-Received-From: 60.234.4.44 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:248220 Archived-At: On 30/04/20 2:29 pm, Richard Stallman wrote: > That focuses on _how_ it works, but could you tell us in concrete > terms what job it does? Perhaps show us an example of use. I had a look for videos showing the usage of this package within Magit and, if you're able to download YouTube videos, then I think this one will help: https://youtu.be/NDP91RNgT4A?t=180 Starting from minute 3:00 you will regularly see Transient buffers in use, popping up at the bottom of the frame, showing menus of commands and the key sequences which invoke them. Some keys will change the state of the Transient buffer by toggling or setting options (possibly involving minibuffer usage to input arguments); other keys will close the Transient buffer and initiate some action command (utilising the options which were selected). In Magit the options are shown at the top and the actions at the bottom of the buffer. In brief a 'prefix' key binding will open a particular Transient menu to allow you to select from the set of commands under that 'prefix', possibly configuring some options along the way to modify how the final selection will behave. It's a very nice approach in practice -- both efficient and informative. In the case of Magit it helps to make some quite complicated or obscure tasks remarkably simple to perform, by presenting all the things you might need for a particular class of activity in one easy-to-comprehend, nicely presented, keyboard-driven menu. The itself video is a bit of a whirlwind tour of some Magit features rather than a focus on Transient specifically, so it doesn't go into any depth on how those menus work; but on the other hand it's pretty short, and with the speed it goes at you will see several different Transient buffers along the way, so hopefully you'll get a bit of a feel for it. -Phil