emacs-devel
[Top][All Lists]
Advanced

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

Re: [External] : Re: POLL: make C-x o transient


From: chad
Subject: Re: [External] : Re: POLL: make C-x o transient
Date: Mon, 1 Feb 2021 11:50:15 -0800


On Fri, Jan 29, 2021 at 9:58 PM Richard Stallman <rms@gnu.org> wrote:
  > I think there's a miscommunication here; the suggestion to bind C-= wasn't
  > (as I understand it) to bind it at the top level, but in the transient
  > keymap, as an addition (or perhaps alternative?) to "whatever key was hit
  > last", ala Juri's prototype.

What is the benefit of that?

The purpose of these "easy repeat" commands is so that you can repeat the
command without moving your fingers.  If you need to move your fingers to C-=,
why bother?

I think the conversation has moved a bit, so I'm attempting to close the loop here. Apologies if it gets confusing with varying communications delays.

I'm talking about the idea of adding a small number of extra bindings inside the transient keymap of certain repeatable commands, as marked by the user. (There is a parallel proposal to perhaps make #'repeat more useful by moving it's binding; that's related but not exactly what I'm talking about here -- This is a big part of what I mean by "closing the loop".)

The benefit is to increase the options beyond just "I want to do exactly what I just did, again, a small number of times" to "I just did something that I'll want to adjust via a probably-small number of repetitions and (potentially repeated) inversions". 

For the case of other-window, the use-case is hunting quickly through a lot of windows, including allowing for a low-cost overshoot. For the various enlarge-window functions, it lets people iterate towards the desired size and evaluate at each step whether they like the current result, or want to tweak it up or down. (Personal aside: At various points in my life, I have done this inside Emacs *a lot*, although modern relatively-giant displays might make it less valuable in practice.)

These bindings would be added to the transient keymap in addition to the last key hit (ala Juri's prototype or something similar), and would, at a low opportunity cost enable both "do that very last press again to repeat" and "standardized - and thus learnable - bindings for iterate-forward and iterate-backward". 

I suggested (and experimented with) adding "."/"," for #'repeat/#'repeat-inverse, and found it pretty pleasant. I haven't shared my exact prototype because it was a tiny change to Juri's except for #'repeat-inverse, which I didn't get entirely functional before I shifted my attention to other projects. Gregory suggested "C-=" as a potential binding with the benefit that it falls right next to "C--" for inverting, on US/UK keyboard layouts. (There is a parallel discussion about binding "C-=" to #'repeat at the top level, which is interesting but has some logistical issues, and is a separate proproal.)

I hope this helps,
~Chad

reply via email to

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