Version 0.5.3 of package Transient has just been released in GNU ELPA. You can now find it in M-x list-packages RET.
Transient describes itself as: ================== Transient commands ================== More at https://elpa.gnu.org/packages/transient.html ## Summary: 1 Transient command menus ═════════════════════════ Transient is the library used to implement the keyboard-driven “menus” in [Magit]. It is distributed as a separate package, so that it can be used to implement similar menus in [other packages]. [Magit] <https://github.com/magit/magit/> [other packages] <https://melpa.org/#/transient> 1.1 Some things that Transient can do ───────────────────────────────────── • Display current state of arguments • Display and manage lifecycle of modal bindings • Contextual user interface • Flow control for wizard-like composition of interactive forms • History & persistence • Rendering arguments for controlling CLI programs 1.2 Complexity in CLI programs ────────────────────────────── ## Recent NEWS: # -*- mode: org -*- * v0.5.3 2023-12-16 - Fixed regression when setting ~:pad-keys~ for a ~transient-columns~ group. #269 * v0.5.2 2023-12-05 - Fixed formatting issues in the manual. * v0.5.1 2023-12-05 - Added a new introduction by JD Smith (@jdtsmith). Bug fixes: - Faces that use a box are now defined more defensively to protect against unexpected values and provide reasonable fallback colors. 413310cd, b8aefce3 - Only prepare to return to the parent transient if there actually is a parent. The only negative effect of failing to do this was that the suffix was colored wrong, since ~transient--do-return~ falls back to behave like ~transient--do-exit~. 5f2cfc9f * v0.5.0 2023-11-28 - Some suffix commands exit the transient from which they were invoked, while others don't (allowing the user to invoke another suffix without first having to enter the transient again). Until now it wasn't possible to tell which category any given suffix falls into, at least not by default. Now the key binding of each suffix is colorized to indicate its transient behavior. Red means that the suffix exits the transient, and blue means that it does not. Keys for suffixes that currently cannot be invoked are gray. Likewise, the thin line, that is drawn between the transient popup buffer and the minibuffer, is used to indicate what happens, if you invoke a command that is not a suffix. Most prefixes do not allow non-suffixes to be invoked, so this line usually is gray. c8a9ac51 - Many faces have also been improved. This involves changing which built-in faces they inherit from, some explicit changes to their appearance, and semantic clarifications. Of course your mileage may vary — it's possible that some face just happened to look right with your chosen theme, but now it has to be themed to achieve that again. 47d3f01d 71d16d86 et al. - Added a new face, ~transient-delimiter~, which is used for parentheses around values and the pipe character used to separate possible values from each other. 567b5d54 - Added a new command ~transient-toggle-level-limit~, bound to ~C-x a~, which temporarily shows all suffix commands a transient has to offer. This makes it possible to occasionally use more obscure commands and arguments, without having to always display them. For more information see [[https://magit.vc/manual/transient/Enabling-and-Disabling-Suffixes.html][Enabling and Disabling Suffixes]]. #243 The changes described below, only directly affect package authors and users who implement their own transients. If that does not describe you, then all you have to know is that many features were fine-tuned and otherwise improved, opening up some new use-cases and making some things easier to implement. This will hopefully lead to improvements in your favorite transient-using packages in the coming months. - It sometimes makes sense to bind multiple keys to the same suffix command, e.g., because they behave differently based on the suffix description, or some other slot that can be set per binding. Previously these bindings shared a visibility level; how this can be set individually. #153 - While functions are run, which format strings to be inserted into the transient buffer or to determine whether other aspects of a suffix, that transient buffer no longer is the current buffer. Instead the buffer in which the prefix and its suffixes operate, is the current buffer. This affects functions such as ~transient-format-description~ and those found in predicate slots such as ~if~. In contexts where the transient buffer is needed but the other buffer happens to be current, the new macro ~transient-with-shadowed-buffer~ can be used to temporarily change that. - The new suffix slots ~face~ and ~inapt-face~ can be used to specify how a suffix looks, which in simple cases is more convenient than using a function as ~description~ and adding the face there. The values of ... ...