From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0.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 CLqaG29UQ2fGQQEAqHPOHw:P1 (envelope-from ) for ; Sun, 24 Nov 2024 16:29:35 +0000 Received: from aspmx1.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0.migadu.com with LMTPS id CLqaG29UQ2fGQQEAqHPOHw (envelope-from ) for ; Sun, 24 Nov 2024 17:29:35 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=none; 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=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1732465775; 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; bh=eKgLs8rkcqI+ucZ/zVJhIwup1LHNaJSSMmCET76NO8s=; b=Y5pzXSeeGZBtkClEBogxnKs+2N3V/e9dLzFtl5jcu5ZfdUQN/VM/cXZtylfub49SWJCa7z fIQDN40EcC70HxjHVZXFbjDPuNwnSj4UrrXOTCAajICdHXdolFrZvEqtNpay19SpvqUKUL cLJZ6PxZGgPfaLnewAYo3Wt0DhNv823EPBCoCNPdmnGykILzcyNjTmzNJDCEXZdNrDW/3q zEIugQZte12/7GOGAZ+QXiquMJz0sRM1xefhoopKrTVB5A2BVTP29qp/PFYNi7PJ6G4LUr 0rTBUpgXiJA7X44aVg0kHP22G+KoskKqMabPYjns8Pci7fYRhg+CKjXmZiSl+w== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; 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=none ARC-Seal: i=1; s=key1; d=yhetil.org; t=1732465775; a=rsa-sha256; cv=none; b=HSMqQGKClaL2RsEZWaix/aX2J03ocSX1Z5LBHGrOM7bc1VakYiq3L8dq0MmPtR5NolZP+p 39T5mjw5aTBzbc/Jb8zmvfvQn0QX5zhtfpXSVsdC82j10rF1OK904qbRRujeOkytQtcdaK UVKtU5moJ5ljHUz/zz0VIDwME3dhKxVedyUFzpCNnxQ3WnBi+bAN/2gjKLHc64ZWGVdcYt 3zoy2BWVeHRJRmPWmPyCES0qRzOXw6rZF3PawZWoWv9zf5jr72tUSIG33vDQTLhCt0Tx8w VmZOUYGXrjJUXW/WuzyiJQy1rn4wT0hXddFpSCMITWp9zFdXf7aEUtOTN2me2w== 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 0CF4489621 for ; Sun, 24 Nov 2024 17:29:34 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tFFTn-0004FX-Jw; Sun, 24 Nov 2024 11:28:59 -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 1tFFTk-0004FH-VT for emacs-orgmode@gnu.org; Sun, 24 Nov 2024 11:28:57 -0500 Received: from mout-p-202.mailbox.org ([80.241.56.172]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256) (Exim 4.90_1) (envelope-from ) id 1tFFTj-0001BT-4t for emacs-orgmode@gnu.org; Sun, 24 Nov 2024 11:28:56 -0500 Received: from smtp2.mailbox.org (smtp2.mailbox.org [IPv6:2001:67c:2050:b231:465::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-202.mailbox.org (Postfix) with ESMTPS id 4XxDmY5RwDz9sq6; Sun, 24 Nov 2024 17:28:45 +0100 (CET) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 Subject: Re: Contributing org-menu (using transient) to Orgmode? From: Jan Rehders In-Reply-To: <87serh99dr.fsf@localhost> Date: Mon, 25 Nov 2024 00:28:29 +0800 Cc: Ihor Radchenko Content-Transfer-Encoding: quoted-printable Message-Id: <84EE7FC0-B04F-4413-9930-67C7BCF3B9F6@sheijk.net> References: <6F54EA7A-17B7-4A3B-B2DC-DAC0894E486D@sheijk.net> <87serh99dr.fsf@localhost> To: emacs-orgmode@gnu.org X-Rspamd-Queue-Id: 4XxDmY5RwDz9sq6 Received-SPF: permerror client-ip=80.241.56.172; envelope-from=jan@sheijk.net; helo=mout-p-202.mailbox.org X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, 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, T_SPF_PERMERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action 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-Country: US X-Migadu-Flow: FLOW_IN X-Migadu-Scanner: mx11.migadu.com X-Migadu-Spam-Score: -0.63 X-Spam-Score: -0.63 X-Migadu-Queue-Id: 0CF4489621 X-TUID: 2lwyixRI4HVZ > Your package appears somewhat similar to > https://github.com/kickingvegas/casual-suite Yes, only the speed commands like functionality seems to be less common = for the casual packages. I even considered renaming it to casual-org = before I saw that all the casual packages are by the same person > Maybe. I am not 100% sure about generic menu functionality, but we do > have something similar for org-goto (help window) and = org-speed-commands > (org-speed-command-help). Using transient instead of these ad-hoc help > menus could be beneficial. In particular, integration with > org-speed-commands can be very helpful. >=20 > More generally, we have previously discussed the idea of generic help > menu for major modes. See = https://list.orgmode.org/orgmode/87a5oayblv.fsf@gmail.com/ > I personally like the idea of some kind of help menu, but I have = doubts > that transient is best-suited for the task. Ideally, help menus should > help with the existing key bindings rather than introducing brand > new. AFAIK, transient _always_ introduces new bindings. I think which-key has been added to Emacs, that one seems like a good = fit >> - should something in Orgmode also have the modal editing part >> integrated? For me that part is the most useful as I can use the >> transient for nearly all editing tasks and the move into the tasks >> for commands whose shortcuts I keep forgetting >=20 > org-speed-commands org-menu works on many more elements than headings. Table cells, list = items, dates, normal text formatting, etc. See the = transient-insert-suffix 'org-menu at the end of the file following :if = blocks for conditional enabling commands for various elements. This is = as ad-hoc as Orgmodes keybinding overloads depending on context (which = might also be a good thing to generalise it, like some commercial text = editors did/do) >=20 >> - would this need to be made more modular and extensible so it's >> different parts could be moved into the respective Orgmode parts >> (like column view features, etc.)? >=20 > I do not have a full picture of what you have in mind wrt integration > with Org upstream and about the structure of your package. So, I = cannot > tell much on this. This is more or less what I want to find out. It mostly depends on what = Orgmode maintainers think is most useful or how this should change. I imagine splitting it into several files which follow Org=E2=80=99s = existing structure might make sense as well as making it easier to add = new parts to it. I don=E2=80=99t know how to best do that, yet. > wrt column view, I have doubts that transient can be very useful - > column view uses overlay keymaps while transients are global. org-menu has support for column view. It=E2=80=99s the only way I=E2=80=99= ve ever succeeded in using it w/o having to look up all the bindings, = again. >> I'd be open to contributing this to Emacs/Orgmode but I'd also be >> happy to keep maintaining it as a separate package. Only thing I >> would like to avoid would be to strip parts of it's functionality as >> then I'd need to fork my own package >=20 > This part is not fully clear to me. Do you mean that you are only > willing to upstream the whole package, but not parts of it? I=E2=80=99m willing to upstream it in any way. But w/o the speed keys = functionality I think I would kind of fork it again for my personal use. = Or better yet use to be added extension hooks to re-add it