[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Entering emojis

From: Jonas Bernoulli
Subject: Re: Entering emojis
Date: Wed, 03 Nov 2021 01:35:15 +0100

Lars Ingebrigtsen <larsi@gnus.org> writes:

> Stefan Kangas <stefankangas@gmail.com> writes:
>> My idea is not that you should put point in the transient window and
>> navigate it as a regular buffer, but that the arrow keys would highlight
>> different emojis somehow, and that you can then press RET to insert the
>> highlighted one.  In this scenario, point would stay in the window you
>> ran `emoji-insert' from, just as before.  If that makes sense.
> Ah, yes, that sounds like a very intuitive interface, and I don't think
> adding something like that to transient.el would be hard.

It's already supported after (setq transient-popup-navigation-help t),
but as I mentioned in an earlier reply from today, that still has some
wards that need ironing out.

>>> Does Magit list the `C-g' binding?
>> Nope.

Many of the commands that are available in all transients begin with the
"C-x" prefix.  If you press that, then those bindings are shown at the
bottom of the transient.  If you want to always show them, then you can
do that by using one of them: "C-x t".

"C-g" doesn't have a prefix because it is more important than those with
a prefix.  Despite that "C-x" shows this binding and a few other related
"sticky" commands as well.  They are called "sticky" because they are
available even after typing an incomplete key sequence, including but
not limited to "C-g".  So if you type "-" to change some argument and
then change your mind, you can press "C-g" to only quit the prefix key
but not the complete transient prefix command.

As for always showing the "C-g" binding (and the other shared bindings);
we did that in the past, but when I learned that even very experienced
users did not disable that and continued to waste some screen every time
a transient (well a "magit popup" at the time), I decided to not show it
by default anymore.

>> So it might just be me, but I can see some users not generalizing
>> the knowledge of "C-g works everywhere" to "surely it works at this
>> screen that looks quite different to everything else, too".  Maybe?
>> I'm not sure.
> I was surprised, too, that `C-g' was the interface here to go "up" in
> the menu hierarchy, but then I got used to it very quickly -- and I
> discovered it naturally while using it.  So while it's an innovation, it
> feels natural.  (And I guess the experience from Magit shows that people
> like it.)

That seems to be generally true, but I surely heard from a handful of
people who didn't like it at all when I switched from "q" (as used by
the predecessor (magit-popup.el) to "C-g".  Anyway the reason is this:

I wanted *all* alphabetic characters to be available for used by
prefix-specific suffixes, without their authors having to worry about
shadowing a binding that is supposed to be available in all transients,
especially not such an important one.

In the case of emoji it would be weird if only [a-pr-z] could be used.
Also some prefixes might have some suffix that is about "quitting"
something that hasn't anything to do with the transient interface but
with its specific functionality.  The magit-blame transient prefix for
example binds "q" to "quit blaming", i.e. it removes blame information
from the current buffer.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]