Next: , Previous: , Up: Usage   [Contents][Index]


2.3 Common Suffix Commands

A few shared suffix commands are available in all transients. These suffix commands are not shown in the echo area by default.

Most of these commands are bound to C-x <key> and after pressing C-x a section featuring all common commands is temporarily show in the echo area. After invoking one of these commands that section disappears again. Note however that one of these commands is described as "Show common permanently"; invoke that if you want the common commands to always be shown for all transients.

C-x t     (transient-toggle-common)

This command toggles whether the generic commands that are common to all transients are always displayed or only after typing the incomplete prefix key sequence C-x. This only affects the current Emacs session.

User Option: transient-show-common-commands

This option controls whether shared suffix commands are shown alongside the transient-specific infix and suffix commands. By default the shared commands are not shown to avoid overwhelming the user with to many options.

While a transient is active, pressing C-x always shows the common command. The value of this option can be changed for the current Emacs session by typing C-x t while a transient is active.

The other common commands are describe in either the previous node or in one of the following nodes.

2.3.1 Notes on Common Key Bindings

You may have noticed that the bindings for some of the common commands do not have the prefix C-x and that furthermore some of these commands are grayed out while others are not. That unfortunately is a bit confusing if the section of common commands is not shown permanently, making the following explanation necessary.

The purpose of usually hiding that section but showing it after the user pressed the respective prefix key is to conserve space and not overwhelm users with too much noise, while allowing the user to quickly list common bindings on demand.

That however should not keep us from using the best possible key bindings. The bindings that do use a prefix do so to avoid wasting too many non-prefix bindings, keeping them available for use in individual transients. The bindings that do not use a prefix and that are not grayed out are very important bindings that are always available, even when invoking the "common command key prefix" or any other transient-specific prefix. The non-prefix keys that are grayed out however, are not available when any incomplete prefix key sequence is active. They do not use the "common command key prefix" because it is likely that users want to invoke them several times in a row and e.g. M-p M-p M-p is much more convenient than C-x M-p C-x M-p C-x M-p.

You may also have noticed that the "Set" command is bound to C-x s, while Magit-Popup used to bind C-c C-c instead. I have seen several users praise the latter binding (sic), so I did not change it willy-nilly. The reason that I changed it is that using different prefix keys for different common commands, would have made the temporary display of the common commands even more confusing, i.e. after pressing C-c all the C-x ... bindings would be grayed out.

Using a single prefix for common commands key means that all other potential prefix keys can be used for transient-specific commands without the section of common commands also popping up. C-c in particular is a prefix that I want (and already do) use for Magit, and also using that for a common command would prevent me from doing so.


Next: , Previous: , Up: Usage   [Contents][Index]