Hi, I'd like to propose adding a transient-based dispatch interface for org-agenda. Now that transient.el is bundled with Emacs, it would be nice to offer a modern, discoverable UI for org-agenda dispatch as an alternative to the current custom buffer approach.
This patch: - Extracts the built-in agenda key bindings into a data-driven alist (`org-agenda-builtin-key-to-action'), replacing the hard-coded `cond' branches in `org-agenda'. - Extracts the custom command normalization and execution logic into reusable functions (`org-agenda-normalize-custom-agenda-commands' and `org-agenda-execute-custom-command'). - Adds `org-agenda-transient', a new transient prefix command that dynamically populates itself with both custom and built-in agenda commands. The refactoring of `org-agenda' into smaller functions is useful on its own, and the transient interface is entirely opt-in -- users who prefer the current dispatch can continue using `org-agenda' as before, while those who want the transient UI can bind `org-agenda-transient' to their preferred key. I have initiated the FSF copyright assignment process (email sent to [email protected] today). The patch is attached and also available as a branch: https://github.com/colonelpanic8/org-mode/tree/add-org-agenda-transient Looking forward to feedback. Best, Ivan Malison
0001-org-agenda-Add-transient-based-dispatch-interface.patch
Description: Binary data
