unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Phil Sainty <psainty@orcon.net.nz>
To: rms@gnu.org
Cc: jonas@bernoul.li, emacs-devel@gnu.org
Subject: Re: [ELPA] New package: transient
Date: Fri, 01 May 2020 17:36:17 +1200	[thread overview]
Message-ID: <5f46b6999109bbc7b6bb28fff988e0b2@webmail.orcon.net.nz> (raw)
In-Reply-To: <E1jULmq-00088N-NM@fencepost.gnu.org>

On 2020-05-01 14:52, Richard Stallman wrote:
> What I want to understand is the basic purpose and use of Transient.
> 
> Would someone like to tell me in 10 lines
> whet job Transient does, and why it is useful?

It is a fancy visual keymap.

It provides visual (but keyboard-driven) menus for invoking commands;
and also provides an interface for interactively specifying *arguments*
to pass to those commands, all from within the same menu.

The first aspect is like prefix key bindings, but with all of the keys
under the prefix being presented visually in a friendly format, with
descriptive labels, so that you can see at a glance what the possible
commands are, and which keys invoke them.

The second aspect is like a *much* fancier notion of prefix arguments,
where you can interactively (but optionally) specify the arguments you
wish to pass to the command you are about to select (and they are again
all labelled clearly, to help you understand what each one does).

It's useful because it's a very efficient and user-friendly interface
for invoking complex commands with arbitrary interactive arguments.


> Thanks, but I can't follow that.  Things flash on the screen, showing
> lots of text I can hardly see (it is small print), and I have no idea
> what it is doing or why.

Ok, if you freeze that video at 3:50 then you are looking at a frame
where the bottom window is displaying an active Transient buffer, and
I'll use that example as context...

The example is for performing various "git commit" commands.  It was
opened by typing "c" from a Magit buffer.  The command keys under that
prefix are shown at the bottom: (c, e, f, F, w, s, S, a, A), and
typing one of those will close the window and invoke the associated
command.  So typing "c c" will firstly open this Transient window, and
then close it and invoke the Magit command for a basic "git commit".

The "Arguments" list at the top shows key sequences beginning with "-"
(-a, -e, -v, -n, -R, -A, -s, -C), and typing any of those will configure
an argument for the command.  So in a Magit buffer, typing "c -s -e s"
would open this Transient window, then enable the "--signoff" argument,
then enable the "--allow-empty" option, and finally close the window
and invoke the Magit command for creating a git squash commit using the
selected arguments.  The arguments can be set in any sequence, until the
user types one of the command keys at the bottom, and highlighting is
employed to show which arguments are enabled.

Some arguments require user input, such as "--author=", so if the user
types "-A" they will be prompted in the minibuffer to enter the author
value.


-Phil




  reply	other threads:[~2020-05-01  5:36 UTC|newest]

Thread overview: 238+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-28 13:01 [ELPA] New package: transient Jonas Bernoulli
     [not found] ` <jwv4kt3d1r8.fsf-monnier+emacs@gnu.org>
     [not found]   ` <87v9ljo5d0.fsf@bernoul.li>
     [not found]     ` <jwvh7x3bfoe.fsf-monnier+emacs@gnu.org>
     [not found]       ` <87ftcnxu5m.fsf@bernoul.li>
2020-04-29  8:29         ` Philippe Vaucher
2020-04-29  9:26           ` Eli Zaretskii
2020-04-29  9:50             ` Philippe Vaucher
2020-04-29 10:05               ` Eli Zaretskii
2020-04-29 10:17                 ` tomas
2020-04-29 10:33                   ` Eli Zaretskii
2020-04-29 10:52                     ` tomas
2020-04-30 12:44                       ` Arthur Miller
2020-04-30 13:28                         ` tomas
2020-04-30 14:26                           ` Namespacing Emacs's core (was: [ELPA] New package: transient) Stefan Monnier
2020-04-30 15:08                             ` tomas
2020-04-30 18:23                             ` Philippe Vaucher
2020-04-30 18:56                               ` Philippe Vaucher
2020-04-30 19:02                                 ` tomas
2020-04-30  2:30                   ` [ELPA] New package: transient Richard Stallman
2020-05-01  2:49                     ` Richard Stallman
2020-05-01  6:33                       ` Eli Zaretskii
2020-05-02  2:24                         ` Richard Stallman
2020-05-02  7:04                           ` Eli Zaretskii
2020-05-02  8:09                             ` Philippe Vaucher
2020-05-02  9:05                               ` Eli Zaretskii
2020-05-02  9:19                                 ` Eli Zaretskii
2020-05-02 10:11                                   ` Philippe Vaucher
2020-05-02 10:33                                     ` Eli Zaretskii
2020-05-02 10:56                                       ` Philippe Vaucher
2020-05-02 10:59                                         ` Philippe Vaucher
2020-05-02 11:09                                         ` Use elisp--xref-backend in *Apropos* and *Help* (Was Re: [ELPA] New package: transient) João Távora
2020-05-02 14:03                                           ` Stefan Monnier
2020-05-03  2:08                                           ` Dmitry Gutov
2020-05-02 11:22                                         ` [ELPA] New package: transient Eli Zaretskii
2020-05-02 11:52                                           ` Philippe Vaucher
2020-05-02 12:08                                             ` Eli Zaretskii
2020-05-02 12:09                                           ` 조성빈
2020-05-02 12:14                                             ` Eli Zaretskii
2020-05-02 12:22                                               ` 조성빈
2020-05-02 12:54                                                 ` Eli Zaretskii
2020-05-02 17:33                                     ` Drew Adams
2020-05-04  3:07                                       ` Richard Stallman
2020-05-04 16:04                                         ` Drew Adams
2020-05-02  9:53                                 ` Philippe Vaucher
2020-05-02 10:39                                   ` João Távora
2020-05-02 11:10                                     ` Philippe Vaucher
2020-05-02 11:17                                       ` João Távora
2020-05-02 11:39                                         ` Philippe Vaucher
2020-05-02 12:02                                           ` João Távora
2020-05-02 12:11                                             ` 조성빈
2020-05-02 12:20                                               ` João Távora
2020-05-02 12:36                                                 ` 조성빈
2020-05-02 12:59                                                   ` João Távora
2020-05-02 13:02                                                   ` Eli Zaretskii
2020-05-02 13:12                                                     ` João Távora
2020-05-02 12:28                                               ` tomas
2020-05-02 12:22                                           ` tomas
2020-05-03  3:43                                           ` Richard Stallman
2020-05-03  4:24                                             ` Stefan Monnier
2020-05-04  3:08                                               ` Richard Stallman
2020-05-02 17:48                                         ` Drew Adams
2020-05-02 14:50                                     ` Dmitry Gutov
2020-05-02 14:57                                       ` João Távora
2020-05-02 17:42                                     ` Drew Adams
2020-05-02 10:54                                   ` Eli Zaretskii
2020-05-02 11:47                                     ` Philippe Vaucher
2020-05-02 12:04                                       ` Eli Zaretskii
2020-05-02 14:56                                     ` Dmitry Gutov
2020-05-02 15:37                                       ` Eli Zaretskii
2020-05-02 15:51                                         ` Dmitry Gutov
2020-05-02 16:09                                           ` Eli Zaretskii
2020-05-02 13:59                                 ` Stefan Monnier
2020-05-02 14:10                                   ` Philippe Vaucher
2020-05-02 14:12                                   ` Eli Zaretskii
2020-05-02 14:26                                     ` Philippe Vaucher
2020-05-02 15:29                                       ` Eli Zaretskii
2020-05-02 15:43                                         ` Philippe Vaucher
2020-05-02 16:05                                           ` Eli Zaretskii
2020-05-02 16:12                                             ` Philippe Vaucher
2020-05-02 16:26                                               ` Eli Zaretskii
2020-05-02 16:42                                                 ` Philippe Vaucher
2020-05-02 18:27                                       ` Drew Adams
2020-05-03  3:43                                       ` Richard Stallman
2020-05-03  7:47                                         ` Philippe Vaucher
2020-05-03 19:46                                           ` Drew Adams
2020-05-03 21:18                                             ` Stefan Monnier
2020-05-03 22:04                                               ` João Távora
2020-05-04  0:41                                               ` Drew Adams
2020-05-04  3:09                                           ` Richard Stallman
2020-05-02 16:48                                     ` Stefan Monnier
2020-05-02 17:17                                       ` Eli Zaretskii
2020-05-02 18:10                                         ` 조성빈
2020-05-02 18:30                                           ` Eli Zaretskii
2020-05-02 18:37                                             ` 조성빈
2020-05-02 18:45                                               ` Eli Zaretskii
2020-05-02 19:12                                                 ` 조성빈
2020-05-02 19:44                                               ` Drew Adams
2020-05-02 18:32                                           ` Yuan Fu
2020-05-02 20:41                                             ` Stefan Monnier
2020-05-02 20:39                                         ` Stefan Monnier
2020-05-02 21:00                                           ` João Távora
2020-05-02 21:53                                             ` Drew Adams
2020-05-02 22:13                                               ` João Távora
2020-05-04  3:07                                             ` Richard Stallman
2020-05-02 21:27                                           ` Philippe Vaucher
2020-05-03 14:45                                           ` Eli Zaretskii
2020-05-03 15:03                                             ` João Távora
2020-05-03 15:11                                               ` Joost Kremers
2020-05-03 15:28                                               ` C-h f and C-h v (was: [ELPA] New package: transient) Stefan Monnier
2020-05-03 17:41                                                 ` João Távora
2020-05-03 17:44                                                   ` João Távora
2020-05-03 16:21                                               ` [ELPA] New package: transient Eli Zaretskii
2020-05-03 15:17                                             ` Stefan Monnier
2020-05-03 16:32                                               ` Eli Zaretskii
2020-05-03 21:13                                                 ` Stefan Monnier
2020-05-04 13:52                                                   ` Eli Zaretskii
2020-05-04 15:14                                                     ` Stefan Monnier
2020-05-04 15:55                                                       ` Eli Zaretskii
2020-05-04 18:41                                                         ` Stefan Monnier
2020-05-04 18:58                                                           ` Eli Zaretskii
2020-05-03 16:23                                             ` Dmitry Gutov
2020-05-03 16:47                                               ` Eli Zaretskii
2020-05-03 17:04                                                 ` Dmitry Gutov
2020-05-03 17:29                                                   ` Eli Zaretskii
2020-05-03 17:42                                                     ` Dmitry Gutov
2020-05-03 18:58                                                       ` Eli Zaretskii
2020-05-04  0:04                                                         ` Dmitry Gutov
2020-05-03 19:49                                                       ` João Távora
2020-05-03 23:47                                                         ` Dmitry Gutov
2020-05-04  1:01                                                           ` João Távora
2020-05-04  1:28                                                             ` Dmitry Gutov
2020-05-04 18:05                                                               ` João Távora
2020-05-04 14:24                                                             ` Eli Zaretskii
2020-05-04 15:23                                                               ` Stefan Monnier
2020-05-04 16:00                                                                 ` Eli Zaretskii
2020-05-04 17:31                                                               ` Drew Adams
2020-05-04  1:13                                                     ` Jean-Christophe Helary
2020-05-04 14:22                                                       ` Eli Zaretskii
2020-05-05  8:23                                                         ` Jean-Christophe Helary
2020-05-05 14:48                                                           ` Eli Zaretskii
2020-05-05 15:39                                                             ` Jean-Christophe Helary
2020-05-05 16:13                                                               ` Eli Zaretskii
2020-05-05 16:33                                                                 ` Jean-Christophe Helary
2020-05-05 15:44                                                             ` Jean-Christophe Helary
2020-05-05 16:15                                                               ` Eli Zaretskii
2020-05-05 16:40                                                                 ` Jean-Christophe Helary
2020-05-05  8:27                                                         ` Jean-Christophe Helary
2020-05-03 21:04                                                 ` Stefan Monnier
2020-05-04 13:51                                                   ` Eli Zaretskii
2020-05-03 16:50                                               ` João Távora
2020-05-03 16:54                                                 ` Eli Zaretskii
2020-05-03 17:43                                                   ` João Távora
2020-05-04  3:08                                                 ` Richard Stallman
2020-05-02 18:57                                       ` Drew Adams
2020-05-02 19:15                                         ` 조성빈
2020-05-02 19:59                                           ` Drew Adams
2020-05-02 20:47                                         ` Stefan Monnier
2020-05-02 14:22                                   ` João Távora
2020-04-29 13:12                 ` Philippe Vaucher
2020-04-29 13:42                   ` tomas
2020-04-29 13:50                     ` Philippe Vaucher
2020-04-29 17:03                       ` Robert Pluim
2020-04-29 19:25                         ` Philippe Vaucher
2020-04-29 17:51                       ` Clément Pit-Claudel
2020-04-29 19:24                         ` Philippe Vaucher
2020-04-29 13:53                     ` Stefan Kangas
2020-04-29 14:01                       ` tomas
2020-04-29 14:20                   ` Eli Zaretskii
2020-04-29 15:25                     ` Philippe Vaucher
2020-04-30 18:13                       ` Dmitry Gutov
2020-04-30 18:19                         ` Philippe Vaucher
2020-04-30 18:41                           ` Dmitry Gutov
2020-04-30 19:26                             ` Philippe Vaucher
2020-04-30 19:34                               ` Philippe Vaucher
2020-04-30 22:47                                 ` Dmitry Gutov
2020-04-30 22:20                               ` Dmitry Gutov
2020-05-01  3:13                                 ` Stefan Monnier
2020-05-01  3:15                                 ` Stefan Monnier
2020-05-01 15:36                                   ` Dmitry Gutov
2020-05-01 16:05                                     ` Philippe Vaucher
2020-05-02  2:27                               ` Richard Stallman
2020-05-02  7:07                                 ` Eli Zaretskii
2020-05-02  8:06                                 ` Philippe Vaucher
2020-05-02 17:08                                   ` Drew Adams
2020-04-30 19:31                             ` Stefan Monnier
2020-04-29 17:27                   ` Alan Mackenzie
2020-04-29 19:01                     ` tomas
2020-04-29 19:31                     ` Philippe Vaucher
2020-04-30 11:51                       ` Alan Mackenzie
2020-04-30 12:38                         ` tomas
2020-04-30 17:30                           ` Dmitry Gutov
2020-04-30 17:53                             ` Philippe Vaucher
2020-04-30 18:42                               ` tomas
2020-04-30 18:41                             ` tomas
2020-04-30 18:14                           ` Philippe Vaucher
2020-04-30 18:58                             ` tomas
2020-04-30 19:13                               ` Philippe Vaucher
2020-04-30 19:33                                 ` tomas
2020-04-30 20:54                                 ` Alan Mackenzie
2020-04-30 22:46                                   ` chad
2020-05-02  2:27                                     ` Richard Stallman
2020-05-01  8:23                                   ` Philippe Vaucher
2020-05-02  2:24                                   ` Richard Stallman
2020-04-30 22:04                               ` Keeping it kind Clément Pit-Claudel
2020-05-01  7:17                                 ` tomas
2020-05-01  8:31                                 ` Philippe Vaucher
2020-05-02  2:24                                   ` Richard Stallman
2020-05-02  2:27                                 ` Richard Stallman
2020-05-01  2:51                       ` [ELPA] New package: transient Richard Stallman
2020-04-29 20:02                     ` Clément Pit-Claudel
2020-04-30  1:08                     ` Stefan Monnier
2020-04-29 13:19                 ` Philippe Vaucher
2020-04-29 14:28                   ` Eli Zaretskii
2020-04-29 14:51                     ` Eli Zaretskii
2020-04-30  2:28                   ` Richard Stallman
2020-04-29 13:32               ` Stefan Monnier
2020-04-29 13:43                 ` Philippe Vaucher
2020-04-29 14:17                 ` Yuan Fu
2020-04-29 14:19                   ` Yuan Fu
2020-04-30  2:28                   ` Richard Stallman
2020-04-29 15:31                 ` Eli Zaretskii
2020-04-29 15:48                   ` Stefan Monnier
2020-04-29 16:05                     ` Drew Adams
2020-05-01 17:38                 ` João Távora
2020-05-01 18:03                   ` Stefan Monnier
2020-04-30  2:30               ` Richard Stallman
2020-04-29 14:56           ` Drew Adams
2020-04-29 12:52         ` Adam Porter
2020-04-30  2:29 ` Richard Stallman
2020-04-30 10:50   ` Phil Sainty
2020-05-01  2:52     ` Richard Stallman
2020-05-01  5:36       ` Phil Sainty [this message]
2020-05-02  2:25         ` Richard Stallman
2020-05-02  2:30           ` T.V Raman
2020-05-01 10:40       ` Kévin Le Gouguec
2020-05-01 15:16         ` Clément Pit-Claudel
2020-05-02  2:24           ` Richard Stallman
  -- strict thread matches above, loose matches on Subject: below --
2020-04-30 11:43 Zhu Zihao
     [not found] <<87368npxw4.fsf@bernoul.li>
     [not found] ` <<jwv4kt3d1r8.fsf-monnier+emacs@gnu.org>
     [not found]   ` <<87v9ljo5d0.fsf@bernoul.li>
     [not found]     ` <<jwvh7x3bfoe.fsf-monnier+emacs@gnu.org>
     [not found]       ` <<87ftcnxu5m.fsf@bernoul.li>
     [not found]         ` <<CAGK7Mr52_xBMYnPTO4XZ5EqvMji0pKD_YmqKHQzVo2HMCXd0KA@mail.gmail.com>
     [not found]           ` <<83y2qezlpd.fsf@gnu.org>
     [not found]             ` <<CAGK7Mr57NeMeXk5kT4fqPUGP_C1y9g8XfL8S4oXN=w=Hy8MJEA@mail.gmail.com>
     [not found]               ` <<83tv12zjx1.fsf@gnu.org>
     [not found]                 ` <<CAGK7Mr7i6uMH1JRnj2E1hY5vSwiGkVwQARLHq0Q_wMn7aBKP9Q@mail.gmail.com>
     [not found]                   ` <<837dxyz83p.fsf@gnu.org>
     [not found]                     ` <<CAGK7Mr50tQ+DeWvxT7O6E7Pm0jg7TFCxhS-iMeW03pgBcp8Lhw@mail.gmail.com>
     [not found]                       ` <<978f970b-b5c2-bd83-39da-f632d069d7d5@yandex.ru>
     [not found]                         ` <<CAGK7Mr5-sYDJBWxeSE6VoAJkYxLgffDkJPRv9g7cd9qME0nLEw@mail.gmail.com>
     [not found]                           ` <<98ab19cf-680b-9cd2-7c42-89dd0b2f470a@yandex.ru>
     [not found]                             ` <<CAGK7Mr5Qu-4iKvZuWmA0uswUrmZYgQmv4Dw=CibRjwUk1PggUw@mail.gmail.com>
     [not found]                               ` <<E1jUhsZ-0006mV-Rb@fencepost.gnu.org>
     [not found]                                 ` <<83y2qau86i.fsf@gnu.org>
2020-05-02 16:51                                   ` Drew Adams
     [not found]                 ` <<20200429101755.GF24737@tuxteam.de>
     [not found]                   ` <<E1jTyxu-0008FM-LM@fencepost.gnu.org>
     [not found]                     ` <<E1jULk7-0007ZA-OQ@fencepost.gnu.org>
     [not found]                       ` <<838sicw4do.fsf@gnu.org>
     [not found]                         ` <<E1jUhpj-00064u-VY@fencepost.gnu.org>
     [not found]                           ` <<83zhaqu89z.fsf@gnu.org>
     [not found]                             ` <<CAGK7Mr48xznD4uc0zxDRqUrYGbsWU4dg2t_CfnpKipzV7_-xbg@mail.gmail.com>
     [not found]                               ` <<83sggiu2p9.fsf@gnu.org>
2020-05-02 17:16                                 ` Drew Adams
     [not found]                                 ` <<83r1w2u20y.fsf@gnu.org>
     [not found]                                   ` <<CAGK7Mr7z+L+1Ziptjvc8wBmZDooLfonuL3VOC8OGex+z1d7Oqg@mail.gmail.com>
     [not found]                                     ` <<83lfmatym6.fsf@gnu.org>
2020-05-02 17:36                                       ` Drew Adams

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5f46b6999109bbc7b6bb28fff988e0b2@webmail.orcon.net.nz \
    --to=psainty@orcon.net.nz \
    --cc=emacs-devel@gnu.org \
    --cc=jonas@bernoul.li \
    --cc=rms@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).