From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Karthik Chikmagalur Newsgroups: gmane.emacs.devel,gmane.emacs.orgmode 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: Sat, 14 Dec 2024 15:20:37 -0800 Message-ID: <87r06926nu.fsf@gmail.com> References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="17426"; mail-complaints-to="usenet@ciao.gmane.io" Cc: charles.choi@yummymelon.com, Emacs developers , emacs-orgmode@gnu.org, emacs.transient@jonas.bernoulli.dev, juri@linkov.net, justin@burkett.cc, omar@matem.unam.mx, Philip Kaludercic , tclaesson@gmail.com, visuweshm@gmail.com To: Psionic K , Ihor Radchenko Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Dec 15 00:21:35 2024 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 1tMbS3-0004SY-1c for ged-emacs-devel@m.gmane-mx.org; Sun, 15 Dec 2024 00:21:35 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tMbRF-0007g6-K3; Sat, 14 Dec 2024 18:20:45 -0500 Original-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 1tMbRD-0007fp-Jl; Sat, 14 Dec 2024 18:20:43 -0500 Original-Received: from mail-pg1-x52c.google.com ([2607:f8b0:4864:20::52c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tMbRC-0000KS-2D; Sat, 14 Dec 2024 18:20:43 -0500 Original-Received: by mail-pg1-x52c.google.com with SMTP id 41be03b00d2f7-7fd17f2312bso2114427a12.0; Sat, 14 Dec 2024 15:20:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1734218439; x=1734823239; darn=gnu.org; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=wqhXBf7zM2q/iHKTBGXt/Lx2Hqy2YYzJqDdO+CXsjpM=; b=TnMfOptGfXTBcDLAH6QEL/hdbAjzmNSWg+nxYPe4cpzFJxQ3Db75ORiBiHLwtCH+Kt +Y+e6pQgGdsG6Pme5I9DKaSYBt4WzqnHnAmZDVIfUN8+Q3QsoHu6sxX09SEvKdmr43+4 aBdvfxXJ9/5PgelFkEYYhjmgzHg/tkBe4lvXbwl2qQSkjr1uqHuO+oZO11YlC94vwFKH q7msY9Dv+qWQ7ZIAXfi/3hsgj5d9LMYNncZxj2TlAQB+zs1A4+/MrtSX2NmBK86EQsf2 YwIU84++NgDeHXi9tfxHlsGlcJYmFJWFM9sp5gX+SxNVlATtYQmAyp4iIo0Ea4N9btVY USdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734218439; x=1734823239; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=wqhXBf7zM2q/iHKTBGXt/Lx2Hqy2YYzJqDdO+CXsjpM=; b=SB9dCRxxdri66EmCENIqvodkxgTp5mg0cqGHkZqtadNY2biKw5TDVyUQZN6dzq6qhF U+r2oDvA6IvJuPdl1DxmWCcttT0/o4WaWCA8cgthpQrtU658Ggm5fqbezzrPXK9EG2G0 ip5+MTKcnKzGhOy4/14A8ALq6voRe5bRU4tIU/fOVOHqqfr0MKmyNi9YEt044eCLTVP3 vfSln67xBeVuiEvG6v+48tIcE/oZG0Rc6CAxOsjqh+TeuuLF6s/NNyTIfQ4BDFkfIznp 9pxU60musZKDdsj8bRJM8zViLbCigyn8tUHu7ba+7jPaPQ+4BXEHi5460LHATU/TP2LV vyUQ== X-Forwarded-Encrypted: i=1; AJvYcCUhZudWFIoAGV6fsJVbk7kVQy0Gj1msDOgj07zFNDa1Nlkvv72qxloOrRdeW6PbH6j+IpVBWVBdwGQHjzUtKQ==@gnu.org, AJvYcCWuWl+KM19mobpioJKxVuCSO6N1BZ26QD7T5fD8Eno9sKKWK+TRw7/ProCNdnHlq+H2grThNFMlkh2gQw==@gnu.org X-Gm-Message-State: AOJu0YxZpaWP2vDHrltU2bitx047euzEOljv75nmzX3Jr8glX26vDu0c hzFJEk6cIipy11bptpxz1eRgtVjWAa9KZpGlPmAMaOZSjbIH6feB X-Gm-Gg: ASbGncvhPPwnVfyE0wtz03fNU0JrpC4m4/VGxcWVKiZs8QjCanoQwYro/gD8iXbxrNK xUhVw5tu2nrHGqAyQ+Fh/6YsxloKg2yVSBEJVnaKvYDZnpzNVOdwUMwaUft8Ay8wpkKDgjUO5A6 OOTpV/nVgfMkkWkXwvcboiZOiXEHQPyhnloakADnUZt4gUYQdFuOKl8v9j5RtzY1uMRx+Fmpom5 SfR7AKRWeQTJ5BUDcDW/8du06YdLVEFumWsfPwywm0xCU6wyhJnNSYfsZDFCHjJHVAGaA== X-Google-Smtp-Source: AGHT+IHL3aAoK+otY/kq+sIP1dO7sc+bUn04OG3U9Osbr8DaDOYQlM39GzpufqdkORCYw00ZSwqnBQ== X-Received: by 2002:a17:90b:48c8:b0:2ee:f653:9f8e with SMTP id 98e67ed59e1d1-2f2904a910bmr11951767a91.35.1734218439133; Sat, 14 Dec 2024 15:20:39 -0800 (PST) Original-Received: from localhost ([2600:8802:5726:2500:a567:f625:4e50:12dc]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2f142c2b1f6sm5369068a91.0.2024.12.14.15.20.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 14 Dec 2024 15:20:38 -0800 (PST) In-Reply-To: Received-SPF: pass client-ip=2607:f8b0:4864:20::52c; envelope-from=karthikchikmagalur@gmail.com; helo=mail-pg1-x52c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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.29 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:326506 gmane.emacs.orgmode:164149 Archived-At: > Regarding the normalization with interactive, if you are not using > transient infixes and instead lean on the :info class and dynamic > :descriptions, you can display state and store it using normal buffer-local > and defvar techniques, providing visual feedback for what might be hidden > states after the user gets more familiar. The commands work with or > without a prefix currently active. In this usage model, you only use > Transient for its flow control, display, and layout. I find the infix > system to be somewhat of a distraction if you are not actually building a > CLI wrapper, but you can definitely make suffixes and descriptions "smart" > by reading a scope from the prefix and making custom infixes that also > obtain more state when displayed. A custom infix for storing org elements > or objects could certainly be a thing. Do you have an example of using buffer-local variables to store transient state? Directing me to an appropriate section of the showcase should be plenty. Karthik