[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC] The best way to choose an "action" at point: context-menu-mode
From: |
Jonas Bernoulli |
Subject: |
Re: [RFC] The best way to choose an "action" at point: context-menu-mode, transient, which-key or embark? (was: Fwd: Org-cite: Replace basic follow-processor with transient menu?) |
Date: |
Wed, 18 Dec 2024 11:47:51 +0100 |
Hello!
Samuel Wales <samologist@gmail.com> writes:
> thanks for interest.
I've worked with other users with impaired vision to improve their
experience with Transient before and tend to prioritize that work.
That being said, the end-of-year crunch is upon us, so I likely won't
find the time to do anything beyond what I have already done today.
You should update Transient to the development version. I found two
regressions affecting the features described below and fixed them this
morning. These fixes will make it into the next release, scheduled for
very early 2025.
> the transient menu i am trying uses more character columns and
> lines than window (c-u m-x gptel-send).
I didn't notice that you effectively said "too small in both
dimensions", so the first advice below, might not be as useful as I
initially though. Or it might, let's see.
> transient's solution does not work well for me.
>
> 1) wrapping
> - 3 text columns.
You can tell Transient to only ever use a single column, and
additionally you can always display the menu in a new window on the
right instead of at the bottom.
(setq transient-force-single-column t)
(setq transient-display-buffer-action
'(display-buffer-in-side-window
(side . right)
(dedicated . t)
(inhibit-same-window . t)))
> rightmost text column (header: "Response
> to") has lines that wrap at rhs (not word) to lhs (not
> beginning of that text column), putting lines between items
> in first text column.
> - (for clarity: by rhs and lhs, i mean where text goes, at
> smallest usable font, maximized gui frame, no wm
> decoration, one window in frame, 2 fringes)
> - BEST SOLUTION FOR ME: wrap at word boundaries, /within each
> text column/, as is done when one exports org tables to
> html
> 2) vertical scrolling
> - BEST SOLUTION FOR ME: SPC DEL, as is done in org export
> menu
> - in transient, SPC and DEL make echo area say ? for help.
> ? makes the message go away but nothing else changes.
> another ? brings up the help for function gptel-send.
> i'd want scrolling.
> - transient is vertically scrollable using up down arrows
> and c-v m-v, but those are harder on rsi and harder to
> locate on my kb than SPC DEL
You can add your preferred bindings like so:
(keymap-set transient-map "SPC" #'transient-scroll-up)
(keymap-set transient-map "DEL" #'transient-scroll-down)
Some Transient menus to *not* prevent commands from other keymaps to
be invoked while the menu is active. If you bind "SPC" in all menus
as shown above, then that will shadow the regular binding, making it
hard to insert a space.
[However, I'll have to deeply think about the bindings used for commands
available in all transient menus in general soon, but this is not the
time and place.]
[I'll likely also have to support horizontal scrolling eventually.]
> - i did not notice that there are lines below window. if
> there isn't an indicator, BEST LOCATION FOR ME: left fringe
> in cases where fringe exists.
This enters "I'll look into that next year" territory.
The color of that line actually indicates whether a menu allows
"outside" commands to be invoked while the menu is active.
Most users don't notice this piece of information, myself included.
You can hide it, if you wish, using:
(setq transient-mode-line-format nil)
> 3) transient does not allow changing font size with
> text-scale-increase/decrease (but a smaller font would not be
> legible)
To permanently use a different font size in transient menus use:
(defun transient-i-shrunk-the-glyphs ()
(text-scale-set -1)) ; or 1 to grow
(add-hook 'transient-setup-buffer-hook #'transient-i-shrunk-the-glyphs)
To allow changing the size on demand, use something like:
(defun transient-text-scale-increase (inc)
(interactive "p")
(with-current-buffer transient--buffer
(text-scale-increase inc)))
(defun transient-text-scale-decrease (dec)
(interactive "p")
(with-current-buffer transient--buffer
(text-scale-decrease dec)))
(keymap-set transient-map "C-x +" #'transient-text-scale-increase)
(keymap-set transient-map "C-x -" #'transient-text-scale-decrease)
(keymap-set transient-predicate-map "<transient-text-scale-increase>"
#'transient--do-call)
(keymap-set transient-predicate-map "<transient-text-scale-decrease>"
#'transient--do-call)
You could also remember the size between menu invocations:
(defvar transient-text-scale-amount 0)
(transient-define-suffix transient-text-scale-increase (inc)
:transient t
(interactive "p")
(with-current-buffer transient--buffer
(text-scale-increase inc)
(setq transient-text-scale-amount text-scale-mode-amount)))
(transient-define-suffix transient-text-scale-decrease (inc)
:transient t
(interactive "p")
(with-current-buffer transient--buffer
(text-scale-decrease dec)
(setq transient-text-scale-amount text-scale-mode-amount)))
(keymap-set transient-map "C-x +" #'transient-text-scale-increase)
(keymap-set transient-map "C-x -" #'transient-text-scale-decrease)
(defun transient-restore-text-scale ()
(unless (local-variable-p 'text-scale-mode-amount)
(text-scale-set transient-text-scale-amount)))
I might make a refinement of one of these variants available by default,
but that will require some more though, which I don't have the time for
until next year.
Cheers,
Jonas
> - transient:
> - Archive: gnu
> - Version: 0.8.1
> - dependency issue before explicitly installing this version.
>
> - emacs 29.4
> - org 9.7.16
> - gptel ~/.emacs.d/elpa/gptel-0.9.6.0.20241115.83706
>
>
> some current org menus, although REALLY GOOD, have possibly
> regressed in recent years. in any case, for example, export is
> scrollable; todo kw is not, so i cannot access some todo kw.
>
> i put a lot of effort into this response, hope it makes sense.
>
>
> On Mon, Dec 16, 2024 at 10:52 AM Ihor Radchenko <yantar92@posteo.net> wrote:
>>
>> Samuel Wales <samologist@gmail.com> writes:
>>
>> > a couple of quick and somewhat obvious comments. i use VERY large
>> > fonts with a maximized gui emacs [vt / maximized urxvt when needed],
>> > still resulting in, throughout emacs, often, a smaller number of
>> > screen lines or columns than content, even with my usual one window
>> > per frame. most org menus respect this and can be scrolled or
>> > tweaked. just wanted compatibility to be in the specs. especially,
>> > to make sure no functionality is unreachable, but also where possible
>> > to modify column numbers / fill to look ok. i am slowly trying
>> > transient in gptel and still getting used to it.
>>
>> Thanks for the important input!
>> Does transient look fine on your screen? If yes, we should not have a
>> problem.
>>
>> --
>> Ihor Radchenko // yantar92,
>> Org mode maintainer,
>> Learn more about Org mode at <https://orgmode.org/>.
>> Support Org development at <https://liberapay.com/org-mode>,
>> or support my work at <https://liberapay.com/yantar92>
>
>
>
> --
> The Kafka Pandemic
>
> A blog about science, health, human rights, and misopathy:
> https://thekafkapandemic.blogspot.com
- Re: [RFC] The best way to choose an "action" at point: context-menu-mode, transient, which-key or embark? (was: Fwd: Org-cite: Replace basic follow-processor with transient menu?), (continued)
- Re: [RFC] The best way to choose an "action" at point: context-menu-mode, transient, which-key or embark? (was: Fwd: Org-cite: Replace basic follow-processor with transient menu?), Ihor Radchenko, 2024/12/16
- Re: [RFC] The best way to choose an "action" at point: context-menu-mode, transient, which-key or embark? (was: Fwd: Org-cite: Replace basic follow-processor with transient menu?), Samuel Wales, 2024/12/16
- Re: [RFC] The best way to choose an "action" at point: context-menu-mode, transient, which-key or embark? (was: Fwd: Org-cite: Replace basic follow-processor with transient menu?), Samuel Wales, 2024/12/16
- Transient: accessibility problems for users who need to use large fonts (was: [RFC] The best way to choose an "action" at point: context-menu-mode, transient, which-key or embark? (was: Fwd: Org-cite: Replace basic follow-processor with transient menu?)), Ihor Radchenko, 2024/12/17
- Re: Transient: accessibility problems for users who need to use large fonts (was: [RFC] The best way to choose an "action" at point: context-menu-mode, transient, which-key or embark? (was: Fwd: Org-cite: Replace basic follow-processor with transient menu?)), Samuel Wales, 2024/12/18
- Re: Transient: accessibility problems for users who need to use large fonts (was: [RFC] The best way to choose an "action" at point: context-menu-mode, transient, which-key or embark? (was: Fwd: Org-cite: Replace basic follow-processor with transient menu?)), Jonas Bernoulli, 2024/12/18
- Re: Transient: accessibility problems for users who need to use large fonts (was: [RFC] The best way to choose an "action" at point: context-menu-mode, transient, which-key or embark? (was: Fwd: Org-cite: Replace basic follow-processor with transient menu?)), Samuel Wales, 2024/12/18
- Re: Transient: accessibility problems for users who need to use large fonts (was: [RFC] The best way to choose an "action" at point: context-menu-mode, transient, which-key or embark? (was: Fwd: Org-cite: Replace basic follow-processor with transient menu?)), Samuel Wales, 2024/12/18
- Re: Transient: accessibility problems for users who need to use large fonts (was: [RFC] The best way to choose an "action" at point: context-menu-mode, transient, which-key or embark? (was: Fwd: Org-cite: Replace basic follow-processor with transient menu?)), Ihor Radchenko, 2024/12/18
- Re: Transient: accessibility problems for users who need to use large fonts (was: [RFC] The best way to choose an "action" at point: context-menu-mode, transient, which-key or embark? (was: Fwd: Org-cite: Replace basic follow-processor with transient menu?)), Samuel Wales, 2024/12/18
- Re: [RFC] The best way to choose an "action" at point: context-menu-mode, transient, which-key or embark? (was: Fwd: Org-cite: Replace basic follow-processor with transient menu?),
Jonas Bernoulli <=
- Internal variables and symbols in transient (was: [RFC] The best way to choose an "action" at point: context-menu-mode, transient, which-key or embark? (was: Fwd: Org-cite: Replace basic follow-processor with transient menu?)), Ihor Radchenko, 2024/12/19
- Alternative defaults for visually impaired users? (was: [RFC] The best way to choose an "action" at point: context-menu-mode, transient, which-key or embark? (was: Fwd: Org-cite: Replace basic follow-processor with transient menu?)), Ihor Radchenko, 2024/12/19
- Re: Alternative defaults for visually impaired users? (was: [RFC] The best way to choose an "action" at point: context-menu-mode, transient, which-key or embark? (was: Fwd: Org-cite: Replace basic follow-processor with transient menu?)), Richard Stallman, 2024/12/21
- Re: Alternative defaults for visually impaired users? (was: [RFC] The best way to choose an "action" at point: context-menu-mode, transient, which-key or embark? (was: Fwd: Org-cite: Replace basic follow-processor with transient menu?)), Ihor Radchenko, 2024/12/22
- Re: Alternative defaults for visually impaired users? (was: [RFC] The best way to choose an "action" at point: context-menu-mode, transient, which-key or embark? (was: Fwd: Org-cite: Replace basic follow-processor with transient menu?)), Eli Zaretskii, 2024/12/22
- Re: Alternative defaults for visually impaired users? (was: [RFC] The best way to choose an "action" at point: context-menu-mode, transient, which-key or embark? (was: Fwd: Org-cite: Replace basic follow-processor with transient menu?)), Ihor Radchenko, 2024/12/22
- Re: Alternative defaults for visually impaired users? (was: [RFC] The best way to choose an "action" at point: context-menu-mode, transient, which-key or embark? (was: Fwd: Org-cite: Replace basic follow-processor with transient menu?)), Eli Zaretskii, 2024/12/22
- Message not available
- Re: Alternative defaults for visually impaired users? (was: [RFC] The best way to choose an "action" at point: context-menu-mode, transient, which-key or embark? (was: Fwd: Org-cite: Replace basic follow-processor with transient menu?)), Eli Zaretskii, 2024/12/23
- Re: Alternative defaults for visually impaired users? (was: [RFC] The best way to choose an "action" at point: context-menu-mode, transient, which-key or embark? (was: Fwd: Org-cite: Replace basic follow-processor with transient menu?)), Ihor Radchenko, 2024/12/23
- Message not available
- Re: Alternative defaults for visually impaired users? (was: [RFC] The best way to choose an "action" at point: context-menu-mode, transient, which-key or embark? (was: Fwd: Org-cite: Replace basic follow-processor with transient menu?)), Ihor Radchenko, 2024/12/24