unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Juri Linkov <juri@linkov.net>
To: Philip Kaludercic <philipk@posteo.net>
Cc: 47878@debbugs.gnu.org
Subject: bug#47878: Mark outline commands as repeatable
Date: Mon, 19 Apr 2021 23:45:17 +0300	[thread overview]
Message-ID: <87y2dej95u.fsf@mail.linkov.net> (raw)
In-Reply-To: <87blabpge6.fsf@posteo.net> (Philip Kaludercic's message of "Sun,  18 Apr 2021 19:00:17 +0000")

> This is a suggested extension for repeat-mode. outline-mode, especially
> outline-minor-mode commands are somewhat inconvenient to access ("C-x @
> C-<something>" requires me to change modifiers mid-input twice). When
> repeat-mode is enabled, this would allow me to access all outline keys
> in just one key-press.
>
> One might want to discuss if outline-mode-prefix-map should be directly
> marked as the repeat-map

Is it possible to get the name of the keymap whose keys were bound to
and invoked the current command?  If such function exists, then the
feature of marking the whole keymap as repeatable could be discussed.

> or if a subset should be used. My approach requires less effort
> but might be more confusing.

Indeed, a subset would be more preferable since it reduces the number
of keys that users might want to use outside of the repeating sequence,
e.g. to type C-l to recenter instead of outline-hide-leaves.

To solve this problem the whole set of keys could be split to groups
of repeatable keymaps:

1. navigation keymap:

C-c @ C-b       outline-backward-same-level
C-c @ C-f       outline-forward-same-level
C-c @ C-n       outline-next-visible-heading
C-c @ C-p       outline-previous-visible-heading
C-c @ C-u       outline-up-heading

This would be the most useful keymap to make navigation keys repeatable.

2. editing keymap:

C-c @ RET       outline-insert-heading
C-c @ C-v       outline-move-subtree-down
C-c @ C-^       outline-move-subtree-up
C-c @ @         outline-mark-subtree
C-c @ C-<       outline-promote
C-c @ C->       outline-demote

Only outline-promote/outline-demote and 
outline-move-subtree-down/outline-move-subtree-up
could be repeatable.

3. visibility keymap:

C-c @ C-a       outline-show-all
C-c @ C-e       outline-show-entry
C-c @ TAB       outline-show-children
C-c @ C-k       outline-show-branches
C-c @ C-s       outline-show-subtree
C-c @ C-c       outline-hide-entry
C-c @ C-d       outline-hide-subtree
C-c @ C-l       outline-hide-leaves
C-c @ C-o       outline-hide-other
C-c @ C-q       outline-hide-sublevels
C-c @ C-t       outline-hide-body

I doubt if these keys need to be repeatable.
We have new Org-like short keys TAB and S-TAB
that are more convenient to use in outline-mode
and in outline-minor-mode.





  reply	other threads:[~2021-04-19 20:45 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-18 19:00 bug#47878: Mark outline commands as repeatable Philip Kaludercic
2021-04-19 20:45 ` Juri Linkov [this message]
2021-04-21 13:53   ` Philip Kaludercic
2021-04-21 19:20     ` Juri Linkov
2021-04-21 20:50       ` Philip Kaludercic
2021-04-21 21:15         ` Juri Linkov
2021-05-03 10:30           ` Lars Ingebrigtsen
2021-05-03 16:44             ` Juri Linkov

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=87y2dej95u.fsf@mail.linkov.net \
    --to=juri@linkov.net \
    --cc=47878@debbugs.gnu.org \
    --cc=philipk@posteo.net \
    /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).