From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?Q?=C3=93scar_Fuentes?= Newsgroups: gmane.emacs.devel Subject: Re: On the adoption of transient.el Date: Wed, 04 Aug 2021 17:56:27 +0200 Message-ID: <87im0lgq50.fsf@telefonica.net> References: <877di4on3d.fsf@posteo.net> <87im1oy6mw.fsf@posteo.net> <87y29hihea.fsf@posteo.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="39703"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) To: emacs-devel@gnu.org Cancel-Lock: sha1:2LjsmZZsx5fppDAnHpMSK1BTL5M= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Aug 04 20:13:02 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 1mBLO1-000A6T-I1 for ged-emacs-devel@m.gmane-mx.org; Wed, 04 Aug 2021 20:13:01 +0200 Original-Received: from localhost ([::1]:47760 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mBLO0-0003mp-91 for ged-emacs-devel@m.gmane-mx.org; Wed, 04 Aug 2021 14:13:00 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:49728) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mBJGD-0001u1-Jn for emacs-devel@gnu.org; Wed, 04 Aug 2021 11:56:59 -0400 Original-Received: from ciao.gmane.io ([116.202.254.214]:45714) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mBJG3-0002JZ-4V for emacs-devel@gnu.org; Wed, 04 Aug 2021 11:56:45 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1mBJFy-0007BO-Qu for emacs-devel@gnu.org; Wed, 04 Aug 2021 17:56:34 +0200 X-Injected-Via-Gmane: http://gmane.org/ Received-SPF: pass client-ip=116.202.254.214; envelope-from=ged-emacs-devel@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, NICE_REPLY_C=-1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 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:272049 Archived-At: Philip Kaludercic writes: > Rudolf Adamkovič writes: > >> Philip Kaludercic writes: >> >>> 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. >> >> 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 “UX designers” surely know >> better than anyone, but in Emacs? > > 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. Certain actions do not play well with the possibility of doing arbitrary things once they are triggered. All-or-nothing sequences sometimes make sense, and then a good UI will enforce some invariants, usually by restricting what the user can do. For instance, allowing the user to do arbitrary things while on the process of dealing with Magit's transient menu can cause mistakes and confusion for little or no benefit. If you enter the transient menu and then feel like doing something else, C-g. No big deal.