Version 0.8.5 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.8.5 2025-03-01 - Added new faces ~transient-key-recurse~ and ~transient-key-stack~. 58e22554 Bug fixes: - ~transient--setup-recursion~ did not consider the ~resurse~ shorthand. 32a7e256 - The parent group was not always stored in suffix objects. #354 - Invoking a suffix of a sub-prefix (which is configured to return to the outer prefix), did exit instead of returning, if the suffix's own behavior was not explicitly specified. #352 - The color of a suffix that returns to the outer prefix, was wrong when there isn't actually an outer prefix. e88005d2 - When potentially removing other bindings for the same command while adding a new binding, false-negative avoidance was to heavily favored over false-positive avoidance. #355 - Defining the ~transient-higher-level~ face involves calling ~face-attributes~ on another face. That call requested the value for the current frame (which may not exist yet) instead of using the default. #359 - When the transient window is hidden while the minibuffer is used, then it was not restored if using Helm. #361 - Non-suffix command that aren't accessed via a symbol, were not properly wrapped to ensure post-command cleanup happens even in case of an error or if the user aborts a minibuffer use, causing the menu window to get stuck. 08201f06 * v0.8.4 2025-02-01 - Added new option ~transient-show-docstring-format~. 65cd6cec - Unless called with a prefix argument, ~transient-toggle-docstrings~ now only shows docstrings for the current menu invocation. 13f3f5e0 - The ~##~ macro from the ~llama~ package can now be used after keywords in group specifications (including suffix bindings). 7c650436 - Suffix commands can now be advised using the new ~advice~ and ~advice*~ slots available for suffixes and groups. This feature is still experimental. #340 - ~transient-scope~ can now also match against prefix classes, not just specific prefix commands. #334 - The default level of a suffix command can now be set via its prototype, using the new function ~transient-set-default-level~. f6c249c7 * v0.8.3 2025-01-03 - Added new constant ~transient-version~. 3022f6d5 * v0.8.2 2025-01-01 - Added support for displaying the transient menu in a dedicated frame. bf58c0bb - When including a group via a variable, the imported value can now be a top-level group. eebcbe30 - The transient window is now fitted to its buffer horizontally as well. fd9811ea - Added new command ~transient-copy-menu-text~. 042f37aa - Added new command ~transient-toggle-docstrings~. 52679f98 - Added new command ~transient-describe~, which can be bound as many times as needed to show help for arbitrary things. 5a18a791 Bug fixes: - The use of ~display-buffer-full-frame~ was prevented too aggressively. 5353464b - Fixed remembering and restoring the old value of the ~no-other-window~ window parameter. de984302 - When a command is bound multiple times and the instances use different transient behavior, then the behavior (and color) for the last binding was used for all bindings. fe71a7e7, a99dcda9 - Enabling ~transient-force-single-column~ resulted in an error. 28347e59 - ~transient-toggle-common~ used to exit the menu. 98c01b84 * v0.8.1 2024-12-08 Bug fixes: - Interactively setting the level of a transient prefix resulted in an error. #337. * v0.8.0 2024-12-06 - While the minibuffer is in use, the menu window is now hidden by default. The new option ~transient-show-during-minibuffer-read~ not only controls whether the menu stays visible while the minibuffer is in use, but also whether it may be resized if necessary. This new option replaces ~transient-hide-during-minibuffer-read~. #330 - When returning to a prefix whose ~refresh-suffixes~ slot is non-nil, its suffixes are now re-initialized. #327 - Added documentation for ~inapt-if*~ slots to manual. 179545a6 - ~transient-args~ now takes a prefix command or a list of prefix ... ...