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: Sat, 07 Aug 2021 08:42:12 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Rudolf Adamkovi?0?0 <salutis@me.com> writes:


For my own use case with Emacspeak, it was imperative that I be able to
move around  and read the transient buffer, see how I solved it in
emacspeak here:
https://github.com/tvraman/emacspeak/blob/master/lisp/emacspeak-transient.el#L183

Basically I advice transient--show-buffer to snapshot the updated
transient buffer contents, and then display that when the transient is
suspended. Note: I'm not advocating this as  a mainstream solution, but
more as an example of prototyping behavior that may be needed for more
than just the emacspeak user.


> This is useful, thank you! C-n/C-p and C-s/C-r solved. Selection with
> C-SPC still does not work, e.g. one still cannot copy some text for a
> bug report or personal notes. Further, and I forgot to mention this in
> my original message, the new transient UI renders the help system,
> such as the glorious C-h k, useless. Not being able to copy text or
> describe all keys is not what I expect to see in the official parts of
> vanilla Emacs.
>
> R+
>
> "T.V Raman" <raman@google.com> writes:
>
>> 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?3 Id:
>> kg:/m/0285kf1  ?0?8 

-- 

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]