emacs-devel
[Top][All Lists]
Advanced

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

Re: On the adoption of transient.el


From: T.V Raman
Subject: Re: On the adoption of transient.el
Date: Wed, 04 Aug 2021 14:45:47 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Jesse Millwood <jesse_m@fastmail.com> writes:


I was more motivated to get it solved because where for you it was a
pain-point, for me it was a show-stopper:-)

Jonas' help got me over the hump.

Stepping back, yes, transient, especially when encountered first via
magit looks complex. But that complexity comes from how much more
complex git is --- what transient does well is to make the large
bucket-loads of git commandline options more tractable.

It's also a very good attempt at bringing features of "direct
manipulation interfaces" to the emacs world  --- I use the term "direct
manipulation" intentionally, that is actually what people mean when they
jump to a GUI. But transient shows that it is possible to implement such
interfaces within the Emacs paradigm by stretching the boundaries a
little, and where we do feel discomfort with respect to over-stretching
those boundaries (losing isearch is an example), we can  claw it back.

Note that  things like dired in emacs are also direct-manipulation
interfaces --- they just preserve *all* of the goodness of Emacs.

The other package that is similar to transient with many advantages  is
hydra --- though I  haven't seen any hydras as complex as the transients
that Git forces magit to require.


> Oh wow, not being able to search that buffer has been my main pain
> point of transient. Thank you so much! 
>
> On 2021-08-04 2:56 p.m., T.V Raman wrote:
>
>     Philip Kaludercic <philipk@posteo.net> writes:
>
>
> I recently discovered thanks to the transient/magit author that once you
>  enable navigation via arrows in transient popups, it also gives you
>  isearch of the transient. We then discovered a bug where using isearch
>  to find a transient option and pressing enter wasn't working, but
>  Jonas has since fixed that and it works.
>  transient-enable-popup-navigation is a variable defined in ??transient.el??.
>
> Its value is t
> Original value was nil
>
>   You can customize this variable.
>   This variable was introduced, or its default value was changed, in
>   version 0.2.0 of the transient package.
>
> Whether navigation commands are enabled in the transient popup.
>
> While a transient is active the transient popup buffer is not the
> current buffer, making it necessary to use dedicated commands to
> act on that buffer itself.  If this non-nil, then the following
> features are available:
>
> - "<up>" moves the cursor to the previous suffix.
>   "<down>" moves the cursor to the next suffix.
>   "RET" invokes the suffix the cursor is on.
> - "<mouse-1>" invokes the clicked on suffix.
> - "C-s" and "C-r" start isearch in the popup buffer.
>
>
>         Rudolf Adamkovi?0?0 <salutis@me.com> writes:
>
>             Philip Kaludercic <philipk@posteo.net> writes:
>
>                 On the other hand something has always felt off about
>                 transient, in
> the sense that it is breaking some expected behaviour or couldn't
> pin-point yet, but just unconsciously stumble over. 
>
>
> This is exactly how I feel about the "modern" interfaces in Emacs. I
> reported a bug in Embark recently, and because I could not select and
> copy the text, I ended up re-typing the text that was right in front
> of me in Emacs. Say what? For me, Emacs is a program where I expect to
> never waste time re-typing anything. Magit has a similar feel to it,
> and I can never be sure if the program will allow me to select text in
> the diverse parts of its user interface. In my opinion, such
> uncertainty is bad for power users. I would expect this from Apple or
> Microsoft software, because their latest ??UX designers?? surely know
> better than anyone, but in Emacs?
>
>
> I am not sure if this is something specific to modern interfaces, or
> rather an overreaching when it comes to binding. After a while I managed
> to "pin-point" what was irritating me, and it was the missing ability to
> search (something that I seem to do so passively that i didn't even
> notice it). Having C-s work is especially useful when there are a lot of
> transient options. This cannot be solved by binding C-s manually,
> as just because that might work for me, there is some other behaviour
> someone else is expecting (eg. your example of selecting and copying
> text).
>
> What I understand transient and certain other packages do is basically
> override most keys, even those it doesn't use. This is more invasive
> than special-mode, that just doesn't bind self-insert-command to most
> keys. What I wonder is why this is done/why it might be necessary.
>
>             R+
>

-- 

Thanks,

--Raman(I Search, I Find, I Misplace, I Research)
?7?4 Id: kg:/m/0285kf1  ?0?8



reply via email to

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