unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: chad <yandros@gmail.com>
To: Richard Stallman <rms@gnu.org>
Cc: Alan Mackenzie <acm@muc.de>, "Philip K." <philipk@posteo.net>,
	Gregory Heytings <gregory@heytings.org>,
	Drew Adams <drew.adams@oracle.com>,
	EMACS development team <emacs-devel@gnu.org>
Subject: Re: [External] : Re: POLL: make C-x o transient
Date: Mon, 1 Feb 2021 11:50:15 -0800	[thread overview]
Message-ID: <CAO2hHWZeDxJLgLbVAVYVCXGExe8HM0XH3_3mRmHxZCHhHecxpQ@mail.gmail.com> (raw)
In-Reply-To: <E1l5jH0-0000oU-EG@fencepost.gnu.org>

[-- Attachment #1: Type: text/plain, Size: 2772 bytes --]

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

[-- Attachment #2: Type: text/html, Size: 3479 bytes --]

  reply	other threads:[~2021-02-01 19:50 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-24  6:12 POLL: make C-x o transient Zhiwei Chen
2021-01-24 11:32 ` Kévin Le Gouguec
2021-01-24 14:40   ` andrés ramírez
2021-01-25  5:52 ` Richard Stallman
2021-01-25 12:21   ` Zhiwei Chen
2021-01-26  6:02     ` Richard Stallman
2021-01-25 14:39 ` Stefan Monnier
2021-01-25 15:30   ` aitor
2021-01-25 16:38     ` Philip K.
2021-01-25 17:23     ` Colin Baxter
2021-01-26  5:59     ` Richard Stallman
2021-01-26 10:44       ` Olivier Certner
2021-01-26 23:38         ` Sean Whitton
2021-01-27  6:51           ` Colin Baxter
2021-01-25 15:47   ` [External] : " Drew Adams
2021-01-25 17:01   ` Juri Linkov
2021-01-25 17:21     ` Omar Polo
2021-01-27 17:55     ` Juri Linkov
2021-01-28  7:46       ` Philip K.
2021-01-28  8:50         ` Juri Linkov
2021-01-28  9:40       ` martin rudalics
2021-01-28 18:43         ` Juri Linkov
2021-01-28 19:13           ` Gregory Heytings
2021-01-28 20:34             ` Kévin Le Gouguec
2021-01-28 21:27               ` Gregory Heytings
2021-01-28 21:58             ` Alan Mackenzie
2021-01-28 23:19               ` Philip K.
2021-01-29  0:03                 ` [External] : " Drew Adams
2021-01-29  2:43                   ` chad
2021-01-29 19:11                     ` Drew Adams
2021-01-30  5:58                     ` Richard Stallman
2021-02-01 19:50                       ` chad [this message]
2021-02-02 21:11                         ` Gregory Heytings
2021-02-05  5:48                           ` Richard Stallman
2021-02-05  8:37                             ` Gregory Heytings
2021-02-05  8:58                               ` Juri Linkov
2021-02-05  9:34                                 ` Gregory Heytings
2021-02-06 19:25                                   ` Juri Linkov
2021-02-06 20:27                                     ` Gregory Heytings
2021-02-06 21:30                                       ` Stefan Monnier
2021-02-06 23:22                                         ` Ergus via Emacs development discussions.
2021-02-07 18:54                                       ` Juri Linkov
2021-02-03  5:51                         ` [External] : " Richard Stallman
2021-02-03 20:38                           ` chad
2021-02-04  5:44                             ` Richard Stallman
2021-02-04 19:24                               ` chad
2021-01-29  7:54                   ` Gregory Heytings
2021-01-29 13:45                     ` Stefan Monnier
2021-01-29 16:56                       ` Óscar Fuentes
2021-01-29 19:12                       ` Drew Adams
2021-01-30 14:13                         ` Gregory Heytings
2021-01-30 20:47                           ` [External] : " Drew Adams
2021-01-31  1:06                             ` Gregory Heytings
2021-01-31 17:39                               ` Drew Adams
2021-01-31 23:12                                 ` Gregory Heytings
2021-01-31 23:53                                   ` [External] : " Drew Adams
2021-02-01  6:11                                   ` Richard Stallman
2021-01-30 14:13                       ` Gregory Heytings
2021-02-01 17:09               ` Yuan Fu
2021-01-29  2:38             ` chad
2021-01-29  8:44               ` Juri Linkov
2021-01-25 17:27   ` Jose E. Marchesi
2021-01-25 21:12 ` Sean Whitton
2021-01-27 21:46 ` Gregory Heytings
2021-01-31  7:06 ` Teemu Likonen
2021-01-31 17:32   ` [External] : " Drew Adams
2021-01-31 17:49     ` Alan Mackenzie
2021-01-31 18:37       ` Drew Adams
2021-01-31 18:10   ` Howard Melman
2021-02-01 17:21   ` Juri Linkov
2021-02-02 19:44     ` Sean Whitton
2021-02-03 17:20       ` Juri Linkov
2021-02-08  7:13 ` Jefferson Carpenter
2021-02-09  6:05   ` Richard Stallman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAO2hHWZeDxJLgLbVAVYVCXGExe8HM0XH3_3mRmHxZCHhHecxpQ@mail.gmail.com \
    --to=yandros@gmail.com \
    --cc=acm@muc.de \
    --cc=drew.adams@oracle.com \
    --cc=emacs-devel@gnu.org \
    --cc=gregory@heytings.org \
    --cc=philipk@posteo.net \
    --cc=rms@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).