Version 0.8.6 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.6 2025-03-15 Bug fixes: - ~transient-show-summary~ errored for commands that have neither a summary nor a docstring. 0886651d - ~transient-format-description~ errored for ~transient-information~ and ~transient-information*~ suffixes. #366 - ~transient--wrap-command~ failed to load autoloaded commands. 40308623 - ~transient-suffix-object~ errored if a command is bound more than once and is invoked using the mouse or ~RET~. f69e1286 - For some releases ~transient-suffix-object~ errored if it could not identify a unique suffix, which helped establish that it is in fact legitimate to use this function as a predicate. No longer error if there are zero matches, but continue to error if their are multiple matches that cannot be disambiguated. 4a06aeb0 * 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 too 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. ... ...