all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Jean Louis <bugs@gnu.support>
To: Gregory Heytings <gregory@heytings.org>
Cc: help-gnu-emacs@gnu.org
Subject: Re: PROPOSAL: Repurpose one key and reserve it for third-party packages
Date: Wed, 10 Feb 2021 14:17:12 +0300	[thread overview]
Message-ID: <YCPAuIjlCG8RwCDS@protected.rcdrun.com> (raw)
In-Reply-To: <8ed9b43502bad8cafcf1@heytings.org>

* Gregory Heytings <gregory@heytings.org> [2021-02-09 12:18]:
> 
> > > The current key binding conventions (see `(elisp) Key Binding
> > > Conventions') reserve keys for users, for major modes and for minor
> > > modes, but not for third-party packages [1].
> > 
> > In my understanding those third party packages usually define major or
> > minor modes so the reservation of keys for third party packages is thus
> > already supported that way.
> > 
> 
> That's not correct, many packages (not all of them, but many) implement
> commands that are intended to be globally bound.  The "org-capture" command
> is an example.  A package implementing advance bookmark commands is another
> one, a packages implementing a dictionary search command is yet
> another one.

Alright, but without reading the text below, I do not see here what is
not correct and how is your paragraph in any contradiction to my
quoted statement above. Maybe you know this technically better.

If I remember well org-capture suggested {C-c c} and I remember it was
suggested to me to place this line in the init.el:

(global-set-key "\C-cc" 'org-capture)

so I did so. This is all in alignment with what I meant, maybe I have
not expressed me well, and is in alignment on what you said.

Package authors may then research which key could be best and give
suggestions, but they will normally not bind it for user.

Then they give suggestions in accordance with the reserved key bindings.

> > There are more than one keys reserved already in the manner you
> > described such as those reserved for users can be proposed and used by
> > third party packages, including those for minor and major modes, they
> > can be used by third party packages.
> 
> Third-party packages cannot do that, and they do not do that.  A third-party
> package cannot bind a key C-c LETTER key, it can at best advise its users to
> do so.  It's what Org-mode does.

That is what I also meant. I do not see disagreements, but you see. It
is interesting.

> > Maybe one could make a package that changes the prefix key or various
> > packages or the package that could "see" which packages are used and
> > which of them need positioning of their prefix keys. Then such package
> > could ask user with proposal:
> > 
> > - C-c bind prefix key for Org functions
> > 
> > - C-, bind prefix for Magit functions
> > 
> > Approve or change above y/n?
> > 
> 
> The first question is not an allowed one, C-c can only be used by
> users.

OK but I do not see disagreement:

- when text message in the package proposes to user to bind C-c c for
  org-capture that is proposal and user can decide if to accept it or
  not

- package could ask user to insert such configuration. Computer
  software should be smarter than it is today. Users still need to do
  a lot of work. Little more artificial intelligence is needed.

- dedicated imaginary package could manage and help users with
  placement of keys and collisions between packages. I would regard
  that as artificial intelligence.

> The second question is not a good one, C-, cannot be used in terminals.

That was an example. It was not meant to be 2 choices, it was not
meant to be those keys specifically, artificial intelligence program
would find out possible choices and have maybe some "mind" of most
popular packages and could help user with choices and let user make
decisions. Such program would recognize which key bindings could be
possibly bound and ask user to bind it conveniently but which exact
key bindings would be offered would be left to the algorithm.

Jean



  reply	other threads:[~2021-02-10 11:17 UTC|newest]

Thread overview: 160+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-08 10:02 PROPOSAL: Repurpose one key and reserve it for third-party packages Gregory Heytings
2021-02-08 16:41 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-02-08 22:01 ` Francis Belliveau
2021-02-09  0:05   ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-02-09  8:36     ` "Windows" key [was: Repurpose one key and reserve it for third-party] packages tomas
2021-02-10 22:54     ` PROPOSAL: Repurpose one key and reserve it for third-party packages Francis Belliveau
2021-02-09  6:31 ` Jean Louis
2021-02-09  9:13   ` Gregory Heytings
2021-02-10 11:17     ` Jean Louis [this message]
2021-02-09 17:13   ` [External] : " Drew Adams
2021-02-09 17:49     ` Gregory Heytings
2021-02-09 18:12       ` Drew Adams
2021-02-09 19:23         ` Gregory Heytings
2021-02-09 20:52           ` [External] : " Drew Adams
2021-02-09 21:15             ` Gregory Heytings
2021-02-09 21:47               ` [External] : " Drew Adams
2021-02-09 22:06                 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-02-09 22:58                   ` Drew Adams
2021-02-09 23:23                     ` Drew Adams
2021-02-09 23:48                     ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-02-10 11:07                 ` Gregory Heytings
2021-02-10  9:05               ` Robert Thorpe
2021-02-10 14:42                 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-02-10 14:59                   ` Gregory Heytings
2021-02-10 11:33       ` [External] : " Jean Louis
2021-02-10 11:41         ` Thibaut Verron
2021-02-10 15:29           ` Eli Zaretskii
2021-02-10 11:30     ` Jean Louis
2021-02-09  8:13 ` Marcin Borkowski
2021-02-09  9:13   ` Gregory Heytings
  -- strict thread matches above, loose matches on Subject: below --
2021-02-15 19:01 Gregory Heytings
2021-02-15 19:55 ` Dmitry Gutov
2021-02-07 22:05 Gregory Heytings
2021-02-08  0:13 ` Ergus
2021-02-08  2:57 ` Jorge Javier Araya Navarro
2021-02-08  3:46 ` Richard Stallman
2021-02-08  7:20   ` Stefan Kangas
2021-02-08 14:58     ` Lars Ingebrigtsen
2021-02-08 21:00       ` Gregory Heytings
2021-02-08 21:33       ` Stefan Monnier
2021-02-09  8:13         ` Lars Ingebrigtsen
2021-02-09 16:54           ` Sean Whitton
2021-02-09 17:13             ` Lars Ingebrigtsen
2021-02-09 17:43             ` Eli Zaretskii
2021-02-09 21:21               ` Sean Whitton
2021-02-09 18:37             ` Stefan Monnier
2021-02-08 22:45       ` Stefan Kangas
2021-02-08 15:45     ` Thibaut Verron
2021-02-08 23:01       ` Stefan Kangas
2021-02-09  9:13         ` Simen Heggestøyl
2021-02-09  9:30         ` Juri Linkov
2021-02-09 13:01           ` Gregory Heytings
2021-02-08 21:00     ` Gregory Heytings
2021-02-09  6:03     ` Richard Stallman
2021-02-08 12:36   ` Alan Mackenzie
2021-02-08 21:00   ` Gregory Heytings
2021-02-08  4:52 ` Robin Tarsiger
2021-02-08  8:41   ` Thibaut Verron
2021-02-08 17:07     ` Robin Tarsiger
2021-02-11 12:59     ` Arthur Miller
2021-02-08 21:00   ` Gregory Heytings
2021-02-09  7:42     ` Yuri Khan
2021-02-09  8:23       ` Gregory Heytings
2021-02-08 23:14   ` Stefan Monnier
2021-02-09  8:23     ` Gregory Heytings
2021-02-08 12:42 ` Augusto Stoffel
2021-02-08 21:00   ` Gregory Heytings
2021-02-08 14:54 ` Dmitry Gutov
2021-02-08 21:00   ` Gregory Heytings
2021-02-08 17:59 ` Sean Whitton
2021-02-08 22:40   ` Eric Abrahamsen
2021-02-09 16:45     ` Sean Whitton
2021-02-10  5:28       ` Richard Stallman
2021-02-10  9:29         ` Thibaut Verron
2021-02-11 13:37           ` Richard Stallman
2021-02-11 13:52             ` Thibaut Verron
2021-02-10 10:42         ` Alfred M. Szmidt
2021-02-10 11:35           ` Thibaut Verron
2021-02-10 12:59             ` Alfred M. Szmidt
2021-02-11 13:37           ` Richard Stallman
2021-02-11 14:38             ` Stefan Kangas
2021-02-11 15:13               ` Robert Pluim
2021-02-11 16:08                 ` Stefan Monnier
2021-02-12  8:21                   ` Alfred M. Szmidt
2021-02-12  8:36                     ` Robert Pluim
2021-02-12 15:11                       ` Alfred M. Szmidt
2021-02-13  3:26                       ` Richard Stallman
2021-02-10 11:07         ` Gregory Heytings
2021-02-10 13:00           ` Alfred M. Szmidt
2021-02-10 13:59             ` Gregory Heytings
2021-02-10 14:10               ` Alfred M. Szmidt
2021-02-10 14:51                 ` Gregory Heytings
2021-02-10 15:12                   ` Alfred M. Szmidt
2021-02-10 15:23                     ` Gregory Heytings
2021-02-11 13:37           ` Richard Stallman
2021-02-11 13:55             ` Gregory Heytings
2021-02-12  9:40       ` Jean Louis
2021-02-08 20:32 ` Ulrich Mueller
2021-02-08 21:00   ` Gregory Heytings
2021-02-08 21:37     ` Ulrich Mueller
2021-02-08 22:00       ` Gregory Heytings
2021-02-09 16:57       ` Sean Whitton
2021-02-09 17:19         ` Gregory Heytings
2021-02-09 17:59           ` Ulrich Mueller
2021-02-09 18:24             ` Gregory Heytings
2021-02-09 18:19           ` Thibaut Verron
2021-02-09 19:16             ` Gregory Heytings
2021-02-09 19:28               ` Thibaut Verron
2021-02-09 20:15                 ` Gregory Heytings
2021-02-09 19:47               ` Stefan Monnier
2021-02-09 22:19             ` Gregory Heytings
2021-02-09 21:34           ` Sean Whitton
     [not found] ` <8735y56naf.fsf@posteo.net>
     [not found]   ` <8ed9b43502ae9a36b057@heytings.org>
2021-02-09 23:18     ` Philip K.
2021-02-10 11:07       ` Gregory Heytings
2021-02-10 23:35         ` Philip K.
2021-02-11  8:45           ` Gregory Heytings
2021-02-11 13:53             ` Philip K.
2021-02-11 15:47               ` Philip K.
2021-02-11 15:59               ` Gregory Heytings
2021-02-11 16:20                 ` Philip K.
2021-02-11 17:48                   ` Gregory Heytings
2021-02-11 18:34                     ` Philip K.
2021-02-11 21:15                       ` Gregory Heytings
2021-02-11 22:48                         ` Philip K.
2021-02-12  0:01                           ` Gregory Heytings
2021-02-12 10:27                             ` Philip K.
2021-02-12 11:59                               ` Gregory Heytings
2021-02-12 13:23                                 ` Philip K.
2021-02-12 13:54                                   ` Gregory Heytings
2021-02-12 14:09                                     ` Philip Kaludercic
2021-02-12 16:04                                       ` Gregory Heytings
2021-02-12 17:25                                         ` Philip Kaludercic
2021-02-12 17:54                                           ` Gregory Heytings
2021-02-12 18:16                                             ` Philip Kaludercic
2021-02-12 21:48                                               ` Gregory Heytings
2021-02-13  0:37                                                 ` Philip Kaludercic
2021-02-13  8:33                                                   ` Gregory Heytings
2021-02-13  9:09                                                     ` Philip Kaludercic
2021-02-13 13:06                                                       ` Gregory Heytings
2021-02-13 14:28                                                         ` Philip Kaludercic
2021-02-13 15:01                                                           ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-02-13 16:08                                                             ` Philip Kaludercic
2021-02-13 15:02                                                           ` Gregory Heytings
2021-02-13 15:21                                                             ` Jean Louis
2021-02-13 15:28                                                               ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-02-13 20:14                                                             ` Philip Kaludercic
2021-02-13 20:58                                                               ` Jean Louis
2021-02-13 21:18                                                               ` Gregory Heytings
2021-02-13 21:32                                                                 ` Philip Kaludercic
2021-02-13 10:05                                                     ` Jean Louis
2021-02-13  8:24                                                 ` Jean Louis
2021-02-13 12:44                                                   ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-02-13 14:26                                                     ` Jean Louis
2021-02-13 15:09                                                       ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-02-13 15:24                                                         ` Jean Louis
2021-02-13 15:38                                                           ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-02-13 15:45                                                             ` Jean Louis
2021-02-12  4:45                           ` Robert Thorpe
2021-02-12  9:58                             ` Philip K.
2021-02-11 16:59             ` Leo Butler

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

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

  git send-email \
    --in-reply-to=YCPAuIjlCG8RwCDS@protected.rcdrun.com \
    --to=bugs@gnu.support \
    --cc=gregory@heytings.org \
    --cc=help-gnu-emacs@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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.