From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: "T.V Raman" Newsgroups: gmane.emacs.devel Subject: Re: On the adoption of transient.el Date: Sat, 07 Aug 2021 08:42:12 -0700 Message-ID: References: <877di4on3d.fsf@posteo.net> <87im1oy6mw.fsf@posteo.net> <87y29hihea.fsf@posteo.net> Mime-Version: 1.0 Content-Type: text/plain; charset=gb18030 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="20611"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: Philip Kaludercic , Gabriel , Yuri Khan , Emacs developers To: Rudolf =?euc-jis-2004?Q?Adamkovi=AA=CC?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Aug 07 17:43:00 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mCOTT-0005Cx-PM for ged-emacs-devel@m.gmane-mx.org; Sat, 07 Aug 2021 17:42:59 +0200 Original-Received: from localhost ([::1]:50038 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mCOTR-0005hb-ME for ged-emacs-devel@m.gmane-mx.org; Sat, 07 Aug 2021 11:42:57 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:32948) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mCOSq-00050l-CC for emacs-devel@gnu.org; Sat, 07 Aug 2021 11:42:20 -0400 Original-Received: from mail-pj1-x1030.google.com ([2607:f8b0:4864:20::1030]:46076) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mCOSo-0008MY-KM for emacs-devel@gnu.org; Sat, 07 Aug 2021 11:42:20 -0400 Original-Received: by mail-pj1-x1030.google.com with SMTP id m10-20020a17090a34cab0290176b52c60ddso22642075pjf.4 for ; Sat, 07 Aug 2021 08:42:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=from:to:cc:subject:in-reply-to:references:user-agent:date :message-id:mime-version:content-transfer-encoding; bh=z19FQhYUxOTkxY6Ez55C2rCNq4bgw5+bgCN8JHyrU+M=; b=U4eu+BfpZ/ktLhh/21sz83wH0JJGPI9shSLbOSGfGCqXP/c11Fv0H4ZGCNyvRYoX0o rOoc6adMoecr/ObamKMFJBPyMAwEic8Pzjqz9pg4alz9gm5Ntp5aKvCwTJdZUn3EYhMF yFRzOvD/42D76kPaJH+nK+zZjG9AUNVCUxS0vPZA3+7eUaTNVJupLqaQ0tVjPsrmZc1c o+u2PYnDu9w3v2LkVVMdMW/vvHeA80rtQqsgQEgHJtsTLNkCuyS21EF2NIrs3Wj6pbxt 6UIV+ROdqVG6/Z2E5hhUP24aeNtCOwc5lvzxyc54UhyRAKN7ZlhPBsK/MJtREEKzkjaM 0Fkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references :user-agent:date:message-id:mime-version:content-transfer-encoding; bh=z19FQhYUxOTkxY6Ez55C2rCNq4bgw5+bgCN8JHyrU+M=; b=TJoSzwR77mswHPO2Id6MQa8gOaTZIWOASaZmFA/ZbGUtWTimFdJF5ZEY9HaUx1CCcS reV5O/HL1HYjX4qSObP6Gn41/066CCnZ15Dh/Mui9Hc4LUNDtTE9RN3x7Auuna+kFlMk 3CeqP/LYLthW+WAu60eD0qg32TxJSiJZmUwoL89SBpGe1cQiCP416/rdtMzdJy47YxJ8 JyD3UuEY9g+qYKI5r6vOPc4dwJ7JPCzydyrWC8STz7V+3Us3n6tlJW8jh5YL+wZNFN+1 AeluMyzL4s4XfHNw462G3JNOWq3nXzwmG7vA70+Rog3HaperjGrinTEFR3hGir5SwYtf 5wKg== X-Gm-Message-State: AOAM530ABmONqePyaPKFn24NN6dyoV2VkhLno4o9fGkyEFvvFsNQpLOI cLJp9324Y4l+5EsMctqOQ4D1Db5Xv1fM9Dzd X-Google-Smtp-Source: ABdhPJwPP1Z5j1oQRQOiuqFwKG+9pcF7Z3Mcdx5d/+FEdwl0zByFpaxAPihBK2IpyAQsI8haRuKa7g== X-Received: by 2002:a17:902:e80a:b029:12c:58eb:1c8f with SMTP id u10-20020a170902e80ab029012c58eb1c8fmr13628311plg.59.1628350935692; Sat, 07 Aug 2021 08:42:15 -0700 (PDT) Original-Received: from raman-glaptop (c-24-4-174-65.hsd1.ca.comcast.net. [24.4.174.65]) by smtp.gmail.com with ESMTPSA id y64sm16579756pgy.32.2021.08.07.08.42.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 07 Aug 2021 08:42:14 -0700 (PDT) In-Reply-To: ("Rudolf =?euc-jis-2004?Q?Adamkovi?= =?euc-jis-2004?Q?=AA=CC=22's?= message of "Sat, 07 Aug 2021 01:02:12 +0200") Received-SPF: pass client-ip=2607:f8b0:4864:20::1030; envelope-from=raman@google.com; helo=mail-pj1-x1030.google.com X-Spam_score_int: -175 X-Spam_score: -17.6 X-Spam_bar: ----------------- X-Spam_report: (-17.6 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:272171 Archived-At: Rudolf Adamkovi=810=8D0 writes: For my own use case with Emacspeak, it was imperative that I be able to move around and read the transient buffer, see how I solved it in emacspeak here: https://github.com/tvraman/emacspeak/blob/master/lisp/emacspeak-transient.e= l#L183 Basically I advice transient--show-buffer to snapshot the updated transient buffer contents, and then display that when the transient is suspended. Note: I'm not advocating this as a mainstream solution, but more as an example of prototyping behavior that may be needed for more than just the emacspeak user. > This is useful, thank you! C-n/C-p and C-s/C-r solved. Selection with > C-SPC still does not work, e.g. one still cannot copy some text for a > bug report or personal notes. Further, and I forgot to mention this in > my original message, the new transient UI renders the help system, > such as the glorious C-h k, useless. Not being able to copy text or > describe all keys is not what I expect to see in the official parts of > vanilla Emacs. > > R+ > > "T.V Raman" writes: > >> Philip Kaludercic writes: I recently >> discovered thanks to the transient/magit author that once you >> enable navigation via arrows in transient popups, it also gives you >> isearch of the transient. We then discovered a bug where using >> isearch to find a transient option and pressing enter wasn't >> working, but Jonas has since fixed that and it works. >> transient-enable-popup-navigation is a variable defined in >> =A1=AEtransient.el=A1=AF. Its value is t Original value was nil You can >> customize this variable. This variable was introduced, or its >> default value was changed, in version 0.2.0 of the transient >> package. Whether navigation commands are enabled in the transient >> popup. While a transient is active the transient popup buffer is not >> the current buffer, making it necessary to use dedicated commands to >> act on that buffer itself. If this non-nil, then the following >> features are available: - "" moves the cursor to the previous >> suffix. "" moves the cursor to the next suffix. "RET" >> invokes the suffix the cursor is on. - "" invokes the >> clicked on suffix. - "C-s" and "C-r" start isearch in the popup >> buffer.=20=20 >>> Rudolf Adamkovi=810=8D0 writes:=20 >>>> Philip Kaludercic writes:=20 >>>>> On the other hand something has always felt off about transient, >>>>> in the sense that it is breaking some expected behaviour or >>>>> couldn't pin-point yet, but just unconsciously stumble over.=20=20 >>>> This is exactly how I feel about the "modern" interfaces in >>>> Emacs. I reported a bug in Embark recently, and because I could >>>> not select and copy the text, I ended up re-typing the text that >>>> was right in front of me in Emacs. Say what? For me, Emacs is a >>>> program where I expect to never waste time re-typing >>>> anything. Magit has a similar feel to it, and I can never be sure >>>> if the program will allow me to select text in the diverse parts >>>> of its user interface. In my opinion, such uncertainty is bad for >>>> power users. I would expect this from Apple or Microsoft software, >>>> because their latest =A1=B0UX designers=A1=B1 surely know better than >>>> anyone, but in Emacs?=20 >>> I am not sure if this is something specific to modern interfaces, >>> or rather an overreaching when it comes to binding. After a while I >>> managed to "pin-point" what was irritating me, and it was the >>> missing ability to search (something that I seem to do so passively >>> that i didn't even notice it). Having C-s work is especially useful >>> when there are a lot of transient options. This cannot be solved by >>> binding C-s manually, as just because that might work for me, there >>> is some other behaviour someone else is expecting (eg. your example >>> of selecting and copying text). What I understand transient and >>> certain other packages do is basically override most keys, even >>> those it doesn't use. This is more invasive than special-mode, that >>> just doesn't bind self-insert-command to most keys. What I wonder >>> is why this is done/why it might be necessary.=20 >>>> R+=20 >> -- Thanks, --Raman(I Search, I Find, I Misplace, I Research) =817=A93 I= d: >> kg:/m/0285kf1 =950=DC8=20 --=20 Thanks, --Raman(I Search, I Find, I Misplace, I Research) =817=A94 Id: kg:/m/0285kf1 =950=DC8