[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/transient a2dada29c8 034/366: manual: Add a FAQ
From: |
Jonas Bernoulli |
Subject: |
[elpa] externals/transient a2dada29c8 034/366: manual: Add a FAQ |
Date: |
Tue, 25 Jan 2022 18:54:24 -0500 (EST) |
branch: externals/transient
commit a2dada29c8dfce46e518c972b658a6a91f4659a6
Author: Jonas Bernoulli <jonas@bernoul.li>
Commit: Jonas Bernoulli <jonas@bernoul.li>
manual: Add a FAQ
---
docs/transient.org | 127 ++++++++++++++++++++++++++++++++++------------------
docs/transient.texi | 115 ++++++++++++++++++++++++++++++-----------------
2 files changed, 158 insertions(+), 84 deletions(-)
diff --git a/docs/transient.org b/docs/transient.org
index 1d468ca645..b92c7c88a0 100644
--- a/docs/transient.org
+++ b/docs/transient.org
@@ -8,7 +8,7 @@
#+TEXINFO_DIR_CATEGORY: Emacs
#+TEXINFO_DIR_TITLE: Transient: (transient).
#+TEXINFO_DIR_DESC: Transient Commands
-#+SUBTITLE: for version 0.1.0 (v0.1.0-31-gf0213e0+1)
+#+SUBTITLE: for version 0.1.0 (v0.1.0-32-g08b4778+1)
#+TEXINFO_DEFFN: t
#+OPTIONS: H:4 num:4 toc:2
@@ -37,7 +37,7 @@ Calling a suffix command usually causes the transient to be
exited
but suffix commands can also be configured to not exit the transient.
#+TEXINFO: @noindent
-This manual is for Transient version 0.1.0 (v0.1.0-31-gf0213e0+1).
+This manual is for Transient version 0.1.0 (v0.1.0-32-g08b4778+1).
#+BEGIN_QUOTE
Copyright (C) 2018-2019 Jonas Bernoulli <jonas@bernoul.li>
@@ -248,7 +248,6 @@ doc-string.
if any.
** Common Suffix Commands
-*** _ :ignore:
A few shared suffix commands are available in all transients. These
suffix commands are not shown in the popup buffer by default.
@@ -281,47 +280,8 @@ always be shown for all transients.
The other common commands are describe in either the previous node or
in one of the following nodes.
-*** Notes on Common Key Bindings
-:PROPERTIES:
-:NONODE: t
-:END:
-
-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.
+Some of Transient's key bindings differ from the respective bindings
+of Magit-Popup; see [[*FAQ]] for more information.
** Saving Values
@@ -1876,6 +1836,85 @@ commands are outlined:
implement that without modifying any existing code, but it does not
currently exist.
+* FAQ
+:PROPERTIES:
+:APPENDIX: t
+:END:
+
+** Can I control how the popup buffer is displayed?
+:PROPERTIES:
+:NONODE: t
+:END:
+
+Yes, see ~transient-display-buffer-action~ in [[*Other Options]].
+
+** Why did some of the key bindings change?
+:PROPERTIES:
+:NONODE: t
+:END:
+
+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.
+
+(Also see the next question.)
+
+** Why does ~q~ not quit popups anymore?
+:PROPERTIES:
+:NONODE: t
+:END:
+
+I agree that ~q~ is a good binding for commands that quit something.
+This includes quitting whatever transient is currently active, but it
+also includes quitting whatever it is that some specific transient is
+controlling. The transient ~magit-blame~ for example binds ~q~ to the
+command that turns ~magit-blame-mode~ off.
+
+So I had to decide if ~q~ should quit the active transient (like
+Magit-Popup used to) or whether ~C-g~ should do that instead, so that ~q~
+could be bound in individual transient to whatever commands make sense
+for them. Because all other letters are already reserved for use by
+individual transients, I have decided to no longer make an exception
+for ~q~.
+
+If you want to get ~q~'s old binding back then you can do so. Doing
+that is a bit more complicated than changing a single key binding, so
+I have implemented a function, ~transient-bind-q-to-quit~ that makes the
+necessary changes. See its doc-string for more information.
+
* Keystroke Index
:PROPERTIES:
:APPENDIX: t
diff --git a/docs/transient.texi b/docs/transient.texi
index 7e68fcf043..35d93f0781 100644
--- a/docs/transient.texi
+++ b/docs/transient.texi
@@ -31,7 +31,7 @@ General Public License for more details.
@finalout
@titlepage
@title Transient User and Developer Manual
-@subtitle for version 0.1.0 (v0.1.0-31-gf0213e0+1)
+@subtitle for version 0.1.0 (v0.1.0-32-g08b4778+1)
@author Jonas Bernoulli
@page
@vskip 0pt plus 1filll
@@ -65,7 +65,7 @@ Calling a suffix command usually causes the transient to be
exited
but suffix commands can also be configured to not exit the transient.
@noindent
-This manual is for Transient version 0.1.0 (v0.1.0-31-gf0213e0+1).
+This manual is for Transient version 0.1.0 (v0.1.0-32-g08b4778+1).
@quotation
Copyright (C) 2018-2019 Jonas Bernoulli <jonas@@bernoul.li>
@@ -91,6 +91,7 @@ General Public License for more details.
* Defining New Commands::
* Classes and Methods::
* Related Abstractions and Packages::
+* FAQ::
* Keystroke Index::
* Command Index::
* Function Index::
@@ -415,44 +416,8 @@ Emacs session by typing @code{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.
-@subsection Notes on Common Key Bindings
-
-You may have noticed that the bindings for some of the common commands
-do @strong{not} have the prefix @code{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 @strong{not} grayed out are very important bindings that are
@strong{always}
-available, even when invoking the "common command key prefix" or @strong{any
-other} transient-specific prefix. The non-prefix keys that @strong{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. @code{M-p M-p M-p} is much more convenient than @code{C-x M-p C-x M-p C-x
M-p}.
-
-You may also have noticed that the "Set" command is bound to @code{C-x s},
-while Magit-Popup used to bind @code{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 @code{C-c} all the @code{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
-@strong{without} the section of common commands also popping up. @code{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.
+Some of Transient's key bindings differ from the respective bindings
+of Magit-Popup; see @ref{FAQ} for more information.
@node Saving Values
@section Saving Values
@@ -2260,6 +2225,76 @@ implement that without modifying any existing code, but
it does not
currently exist.
@end itemize
+@node FAQ
+@appendix FAQ
+
+
+
+@appendixsec Can I control how the popup buffer is displayed?
+
+Yes, see @code{transient-display-buffer-action} in @ref{Other Options}.
+
+@appendixsec Why did some of the key bindings change?
+
+You may have noticed that the bindings for some of the common commands
+do @strong{not} have the prefix @code{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 @strong{not} grayed out are very important bindings that are
@strong{always}
+available, even when invoking the "common command key prefix" or @strong{any
+other} transient-specific prefix. The non-prefix keys that @strong{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. @code{M-p M-p M-p} is much more convenient than @code{C-x M-p C-x M-p C-x
M-p}.
+
+You may also have noticed that the "Set" command is bound to @code{C-x s},
+while Magit-Popup used to bind @code{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 @code{C-c} all the @code{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
+@strong{without} the section of common commands also popping up. @code{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.
+
+(Also see the next question.)
+
+@appendixsec Why does @code{q} not quit popups anymore?
+
+I agree that @code{q} is a good binding for commands that quit something.
+This includes quitting whatever transient is currently active, but it
+also includes quitting whatever it is that some specific transient is
+controlling. The transient @code{magit-blame} for example binds @code{q} to
the
+command that turns @code{magit-blame-mode} off.
+
+So I had to decide if @code{q} should quit the active transient (like
+Magit-Popup used to) or whether @code{C-g} should do that instead, so that
@code{q}
+could be bound in individual transient to whatever commands make sense
+for them. Because all other letters are already reserved for use by
+individual transients, I have decided to no longer make an exception
+for @code{q}.
+
+If you want to get @code{q}'s old binding back then you can do so. Doing
+that is a bit more complicated than changing a single key binding, so
+I have implemented a function, @code{transient-bind-q-to-quit} that makes the
+necessary changes. See its doc-string for more information.
+
@node Keystroke Index
@appendix Keystroke Index
- [elpa] externals/transient fa3b7574bb 087/366: transient--layout-member: Use appropriate argument order, (continued)
- [elpa] externals/transient fa3b7574bb 087/366: transient--layout-member: Use appropriate argument order, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 20c231e0ec 089/366: transient--layout-member-1: Refactor, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient cac657a03e 092/366: Support inserting/removing groups and doing it using coordinates, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 6236a4fd38 019/366: Bind ESC ESC ESC in all maps, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient e889030b0f 027/366: Quote a parenthesis in a doc-string, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 2033ac1ed9 031/366: transient-mode-line-format: New option, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 08b4778890 033/366: Make it trivial to use "q" to quit again, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 9429cb628a 035/366: transient-scroll-down: Fix pasto, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 7e45a57ec8 030/366: No longer depend on lv to display the transient buffer, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 625683c9ea 029/366: transient--pre-exit: Don't reselect original window, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient a2dada29c8 034/366: manual: Add a FAQ,
Jonas Bernoulli <=
- [elpa] externals/transient a2222d294c 038/366: transient-base-map: New parent of other shared keymaps, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient b1da0cab5d 040/366: Remove my personal key bindings, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient bbf81297c6 041/366: Prevent infix commands from being added to command-history, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient a6295fa7ee 042/366: Declare that prefix and suffix commands are for interactive use only, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 2872b4a661 045/366: transient-init-value: Define for transient-prefix, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient a47ae9499b 049/366: transient-{set, save}: Support exiting the transient, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 9e30038d2d 051/366: transient-set-level: Limit when it is called, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 544b3bb864 057/366: Support automatically disabling incompatible arguments, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 28aac32e82 058/366: Fix previous commit, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 4f7ee36899 060/366: transient-infix-set: Bugfixes, Jonas Bernoulli, 2022/01/25