I agree to improve the tag selection UI. The hard-to-type characters is not necessary. It's hard to type, and not match the purpose of "fast tag selection", and will break tags alignment. Also need minor improvement on alignment of tags "group tag". Please see my screenshot attachment. Hanno Perrey writes: >> I am not sure. Omitting (random) part of the tags sounds awkward - some >> tags will be assigned keys and some not. I guess something that will >> improve the current situation would be simply not printing chars beyond >> a-z, while still listing all the tags - it will be less awkward compared >> to current situation when a key is printed but cannot be used anyway. > > Good point. I attach a patch that does just that. After the '~' > character, only "space" is assigned -- which feels like a hack, but > means that the selection key field is empty and that the fields are > still aligned nicely. Actually selection any of these items is not > possible as space is assigned to clearing the tags. Should this break > anything that I have missed in my (brief) tests, please let me know! > > Additionally, the range A-Z is used once 'z' is reached before assigning > non-alphabetic (but reasonably-reachable) characters. In case that > description is difficult to follow, I attach a screenshot of the > modified code in action. > > Please note that I have not (yet) assigned copyright to the FSF. > However, I believe that these changes are still trivial enough to > qualify as TINYCHANGE. > >> Or we may provide "paging" approach that will re-assign a-z keys when >> user presses C-n/C-p. Though I do not like this idea too much because we >> have a more universal menu backend in works at >> https://orgmode.org/list/87zgisvuu5.fsf@localhost Adding new feature to >> tag menu does not feel like a good direction to go. If we decide to go >> this way at the end, we may, at least, also need to update >> org-fast-todo-selection along similar lines. > > Thanks for pointing out that thread, I missed it earlier. It does sound > like a good idea to wait with more fundamental changes until potential > changes to the backend are settled. > >> Finally, we may simply not list tags with keys beyond "z" at all only >> indicating that there are more by showing some text at the end of the >> menu. > > That might be an alternative, as I think not even all tags are shown > now. Let me know should you rather go down that route instead. > > [2. text/x-diff; 0001-org.el-Improve-automatic-fast-tag-selection-keys.patch] > From cdaa585cea7481aca31148350e77a86f22512d0c Mon Sep 17 00:00:00 2001 > From: Hanno Perrey > Date: Sun, 7 Aug 2022 19:44:18 +0200 > Subject: [PATCH] org.el: Improve automatic fast tag selection keys > > * lisp/org.el (org-fast-tag-selection): After automatically assigning > a-z as keys for selection, offer A-Z range. Continue with characters up > to tilde character before showing only blanks. Replaces previous logic > where also hard-to-type characters were assigned. > > TINYCHANGE > --- > lisp/org.el | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/lisp/org.el b/lisp/org.el > index 8bc123e47..d48a44602 100644 > --- a/lisp/org.el > +++ b/lisp/org.el > @@ -11762,7 +11762,13 @@ Returns the new tags string, or nil to not change the current settings." > (while (or (rassoc char ntable) (rassoc char table)) > (setq char (1+ char))) > (setq c2 c1)) > - (setq c (or c2 char))) > + (setq c (or c2 > + (if (> char ?~) > + ?\s > + char))) > + ;; consider characters A-Z after a-z. > + (if (equal char ?z) > + (setq char ?A))) > (when ingroup (push tg (car groups))) > (setq tg (org-add-props tg nil 'face > (cond > -- > 2.34.1 > > [3. image/png; 20220807_19h13m58s_grim.png]... -- [ stardiviner ] I try to make every word tell the meaning that I want to express. Blog: https://stardiviner.github.io/ IRC(freenode): stardiviner, Matrix: stardiviner GPG: F09F650D7D674819892591401B5DF1C95AE89AC3