Comment lier une clé à une commande / liste d'agenda spécifique en mode org

15

J'ai ajouté une clé personnalisée pour l'agenda de l'organisation pour afficher tous les éléments TODO imprévus après Sacha Chua:

(defun sacha/org-agenda-skip-scheduled ()
  (org-agenda-skip-entry-if 'scheduled 'deadline 'regexp "\n]+>"))

(setq org-agenda-custom-commands
   '(("u" "Unscheduled tasks" alltodo ""
      ((org-agenda-skip-function 'sacha/org-agenda-skip-scheduled)
       (org-agenda-overriding-header "Unscheduled TODO entries: ")))))

Je peux afficher cette liste avec C-c a u, mais je préfère simplement la lier à une seule clé. Actuellement, j'ai le simple:

(global-set-key (kbd "<f8>") 'org-todo-list)

mais je voudrais que cela utilise la commande personnalisée ci-dessus. J'ai fouillé dans le manuel mais je ne vois pas comment le faire.

rneatherway
la source

Réponses:

12

Vous pouvez le faire en encapsulant un appel à org-agendadans une commande personnalisée et en le liant à une clé:

(defun org-agenda-show-unscheduled (&optional arg)
  (interactive "P")
  (org-agenda arg "u"))

(define-key org-mode-map (kbd "<f8>") 'org-agenda-show-unscheduled)
itsjeyd
la source
1

Je n'aime pas créer une fonction explicite, j'ai donc roulé ma carte dans un lambda:

(define-key org-mode-map (kbd "<f8>") '(lambda (&optional arg) (interactive "P")(org-agenda arg "u")))
kshenoy
la source