From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id ACUrHrSqYmd/iwAA62LTzQ:P1 (envelope-from ) for ; Wed, 18 Dec 2024 10:57:56 +0000 Received: from aspmx1.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1.migadu.com with LMTPS id ACUrHrSqYmd/iwAA62LTzQ (envelope-from ) for ; Wed, 18 Dec 2024 11:57:56 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=bernoul.li header.s=sel2011a header.b=vmZTC79S; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=reject) header.from=bernoul.li ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1734519476; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=1QxLxnQP1rfafOfpg1cpyUrrFNB95BOARNK5m2et+Ak=; b=r0exBq5BrDzrFcEPLgk4W6hxqaJ+T3l9phWahFBkSsBaYFrKD29v2f0LRsGloORfPitFJH 1xaV26lhU9kfT7RmPuNgAfTEGLu+gDiJTWG+7Z0y2BfF3BBIOl+sW2T1mZXLsACdbMqib4 F0zLq26AZUZAyxpByypJ2M+utaU064OwM4h/0cYDwtwHUsRhkz0rKl5va31iNwy8IFKOGe BLLmXKoksHtR4R49Llly54zh3c2Gdp/kgTko3CB/l8ZIaav7ZNZHdNg9vzkY+6w+BdomEx Gyb3a/QxIkd2XyQKdTjz5a0M5qzAkU9WY0nCHzkt0JcEw29obS/wer90xNhmcw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1734519476; a=rsa-sha256; cv=none; b=hv5x3u1fzCYSe1IrN0/5LWRerkbNrEbXxjEGs8AiwCXIvTqONO/PmUCYnsGRmcSR4G+XdJ aE4AnkfUYhLXoPNptO0H24MXlOyMhIb/n3MkcKLxg2ohsZwE7Y2NAUu427+88rXpSeEaPx sT8xtzUdGGzO1AsOA8lBcpnK8BsW+WpdJpwRMgAvaarxUgXJ4tb0/h/wK9LquXJM4yIdnc kLG+8HchFCMqJrKl1KMjZKXxFTc5SlrW9ldPH/2LFs2v7NraSpWy4Luuk2Ttj5X7iwYc38 BW6yg6aqrbI+q9FcsvtmcKekuBEZ/1MbAErkAy08d960naO2hDNmH0nWnM4gWQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=bernoul.li header.s=sel2011a header.b=vmZTC79S; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=reject) header.from=bernoul.li Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id E470D89A9A for ; Wed, 18 Dec 2024 11:57:55 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tNrjp-0006Iw-VB; Wed, 18 Dec 2024 05:57:11 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tNrbQ-00008e-Md; Wed, 18 Dec 2024 05:48:29 -0500 Received: from mail.hostpark.net ([212.243.197.30]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tNrbL-0005pn-Jk; Wed, 18 Dec 2024 05:48:28 -0500 Received: from localhost (localhost [127.0.0.1]) by mail.hostpark.net (Postfix) with ESMTP id 51689164C8; Wed, 18 Dec 2024 11:47:58 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bernoul.li; h= content-transfer-encoding:content-type:content-type:mime-version :message-id:date:date:references:in-reply-to:subject:subject :from:from; s=sel2011a; t=1734518877; bh=KinMJFTDvrUMeJ4iaPPbn0F x7qJWJyMkODGVNwjXbi0=; b=vmZTC79SnY5jkMMG45wKe+wu6SLuK6wpyiKo8QY PYDXy9qJUreiriSDvf+0EaobyJAaaITPzrfLtv6Z1yjqaBYd1eS2ilugxMkcKQgH ymW8WlrL723jQmFUEFh7xFUIs8x18ckOn1IXVAdLOjcRuXDlfSYotCIPEairymZn f4t0= X-Virus-Scanned: by Hostpark/NetZone Mailprotection at hostpark.net Received: from mail.hostpark.net ([127.0.0.1]) by localhost (mail0.hostpark.net [127.0.0.1]) (amavisd-new, port 10224) with ESMTP id rayFrw9UJE1i; Wed, 18 Dec 2024 11:47:57 +0100 (CET) Received: from customer (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.hostpark.net (Postfix) with ESMTPSA id B07CE1649F; Wed, 18 Dec 2024 11:47:54 +0100 (CET) From: Jonas Bernoulli To: Samuel Wales , Ihor Radchenko Cc: Panayotis Manganaris , =?utf-8?Q?Tor-bj?= =?utf-8?Q?=C3=B6rn?= Claesson , emacs-devel@gnu.org, emacs-orgmode@gnu.org, Philip Kaludercic , Omar =?utf-8?Q?Antol=C3=ADn?= Camarena , Jonas Bernoulli , Juri Linkov , karthikchikmagalur@gmail.com, Visuwesh , Justin Burkett 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?) In-Reply-To: References: <8734m28l9a.fsf@gmail.com> <87pln3f3cc.fsf@localhost> <87jzd9ojj0.fsf@localhost> <87cyj0ajm9.fsf@gmail.com> <87zfm4s50x.fsf@localhost> <87wmh8s358.fsf@localhost> <87y11nwp9z.fsf@gmail.com> <87v7wd9a2h.fsf@localhost> <878qt7fbki.fsf@gmail.com> <87o71jwdxz.fsf@localhost> <87wmg6edr0.fsf@gmail.com> <87msgzh1dh.fsf@localhost> <87v7vn12tp.fsf@ASCALON.mail-host-address-is-not-set> <878qsifufe.fsf@localhost> <87y10fcy4e.fsf@localhost> Date: Wed, 18 Dec 2024 11:47:51 +0100 Message-ID: <87cyhpclns.fsf@bernoul.li> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=212.243.197.30; envelope-from=jonas@bernoul.li; helo=mail.hostpark.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Wed, 18 Dec 2024 05:56:53 -0500 X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Scanner: mx11.migadu.com X-Migadu-Spam-Score: -3.01 X-Spam-Score: -3.01 X-Migadu-Queue-Id: E470D89A9A X-TUID: NDOrGJliDb+8 Hello! Samuel Wales 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--do-call) (keymap-set transient-predicate-map "" #'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=E2=80=AFAM Ihor Radchenko wrote: >> >> Samuel Wales 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 . >> Support Org development at , >> or support my work at > > > > -- > The Kafka Pandemic > > A blog about science, health, human rights, and misopathy: > https://thekafkapandemic.blogspot.com