Re: [O] org-clock: Custom shortcuts for C-u C-c C-x C-i
By the way, I've been using this for quite some time, and I find it quite useful. It may be worth considering it for inclusion—see attached patch. Opinions? On Thu, 14 Feb 2019 at 06:32, Michaël Cadilhac wrote: > Hi Leo; > > On Wed, 13 Feb 2019 at 17:46, Leo Gaspard wrote: > > Michaël Cadilhac writes: > > > This is not possible out of the box; can you say a bit more about how > > > you expect to indicate which tasks are to be always present? > > > > I would be thinking of something like defining a list of key -> link to > > a task (that may be generated with org-id's task ID, [[*foobar]] links > > or whatever) in my `init.el`. > > Alright, can you give this patch a spin and see if that's what you want? > > Cheers; > M. > From aef6f6d3ab553ff83f5cc9b7c0ad26c5cd2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Cadilhac?= Date: Fri, 30 Aug 2019 12:28:58 -0500 Subject: [PATCH] org-clock: let user provide a list of default clock-in tasks. * lisp/org-clock.el (org-clock-default-tasks): New variable. (org-clock-select-task): Implement it. --- lisp/org-clock.el | 21 + 1 file changed, 21 insertions(+) diff --git a/lisp/org-clock.el b/lisp/org-clock.el index 9e64645cb..b8523e3e1 100644 --- a/lisp/org-clock.el +++ b/lisp/org-clock.el @@ -168,6 +168,18 @@ which case all digits and capital letters are used up by the :group 'org-clock :type 'integer) +(defcustom org-clock-default-tasks nil + "Default tasks that always appear in the clock-in dialog. +This should be a list of pairs (KEY . ID), where KEY is the key +used to select the task, and ID is the unique identifier of the +task." + :group 'org-clock + :version "26.2" + :package-version '(Org . "9.3") + :type '(repeat (cons :tag "Key and ID" + (character :tag "Access key") + (string:tag "Task ID" + (defcustom org-clock-goto-may-find-recent-task t "Non-nil means `org-clock-goto' can go to recent task if no active clock." :group 'org-clock @@ -626,6 +638,15 @@ there is no recent clock to choose from." (+ i (- ?A 10))) m)) (if (fboundp 'int-to-char) (setf (car s) (int-to-char (car s (push s sel-list))) + (let (has-elt m) + (dolist (charid org-clock-default-tasks) + ;; Only add tasks that actually exist + (when (setq m (org-id-find (cdr charid) 'marker)) + (unless has-elt + (setq has-elt t) + (insert (org-add-props "Default Tasks\n" nil 'face 'bold))) + (setq s (org-clock-insert-selection-line (car charid) m)) + (push s sel-list (run-hooks 'org-clock-before-select-task-hook) (goto-char (point-min)) ;; Set min-height relatively to circumvent a possible but in -- 2.23.0
Re: [O] org-clock: Custom shortcuts for C-u C-c C-x C-i
Hi Leo; On Wed, 13 Feb 2019 at 17:46, Leo Gaspard wrote: > Michaël Cadilhac writes: > > This is not possible out of the box; can you say a bit more about how > > you expect to indicate which tasks are to be always present? > > I would be thinking of something like defining a list of key -> link to > a task (that may be generated with org-id's task ID, [[*foobar]] links > or whatever) in my `init.el`. Alright, can you give this patch a spin and see if that's what you want? Cheers; M. diff --git a/lisp/org-clock.el b/lisp/org-clock.el index 343264f7e..1f0870e62 100644 --- a/lisp/org-clock.el +++ b/lisp/org-clock.el @@ -164,6 +164,13 @@ which case all digits and capital letters are used up by the :group 'org-clock :type 'integer) +(defcustom org-clock-default-tasks nil + "List of pairs (KEY . ID) ..." + :group 'org-clock + :type '(repeat (cons :tag "Key and ID" + (character :tag "Access char") + (string:tag "Task ID" + (defcustom org-clock-goto-may-find-recent-task t "Non-nil means `org-clock-goto' can go to recent task if no active clock." :group 'org-clock @@ -622,6 +629,15 @@ there is no recent clock to choose from." (+ i (- ?A 10))) m)) (if (fboundp 'int-to-char) (setf (car s) (int-to-char (car s (push s sel-list))) + (let (has-elt m) + (dolist (charid org-clock-default-tasks) + (setq m (org-id-find (cdr charid) 'marker)) + (when m + (unless has-elt + (setq has-elt t) + (insert (org-add-props "Default Tasks\n" nil 'face 'bold))) + (setq s (org-clock-insert-selection-line (car charid) m)) + (push s sel-list (run-hooks 'org-clock-before-select-task-hook) (goto-char (point-min)) ;; Set min-height relatively to circumvent a possible but in
Re: [O] org-clock: Custom shortcuts for C-u C-c C-x C-i
Hi Michaël, Michaël Cadilhac writes: > This is not possible out of the box; can you say a bit more about how > you expect to indicate which tasks are to be always present? I would be thinking of something like defining a list of key -> link to a task (that may be generated with org-id's task ID, [[*foobar]] links or whatever) in my `init.el`. > A quick-and-dirty way to implement something along these lines is to > modify org-clock-history-push to always keep a selected set of markers > in org-clock-history. Hmm… That sounds like it'd work, but would have a pretty terrible UX. I guess I'll go with just using custom shortcuts for now, then, if there's no easy way to integrate it with C-ucxi. (I don't feel like I'm ready to dive into too intricate elisp yet) Thank you for your feedback! Cheers, Leo
Re: [O] org-clock: Custom shortcuts for C-u C-c C-x C-i
Hi there Leo; This is not possible out of the box; can you say a bit more about how you expect to indicate which tasks are to be always present? A quick-and-dirty way to implement something along these lines is to modify org-clock-history-push to always keep a selected set of markers in org-clock-history. Cheers; M. On Mon, 11 Feb 2019 at 16:32, Leo Gaspard wrote: > > Hello, > > When I run C-u C-c C-x C-i I get a choice between the interrupted task, > the current task, the default task and recent tasks. > > I however wonder whether it's possible to add in custom shortcuts to > fixed tasks? This would help me easily clock into my “IRC”, “Mails” > etc. tasks, to and from which I frequently switch. > > Do you have any idea how to accomplish that? I haven't been able to find > anything in the manual [1]. > > [1] https://orgmode.org/org.html#Clocking-commands > > Cheers, and thank you once again for this great piece of software! > Leo >
[O] org-clock: Custom shortcuts for C-u C-c C-x C-i
Hello, When I run C-u C-c C-x C-i I get a choice between the interrupted task, the current task, the default task and recent tasks. I however wonder whether it's possible to add in custom shortcuts to fixed tasks? This would help me easily clock into my “IRC”, “Mails” etc. tasks, to and from which I frequently switch. Do you have any idea how to accomplish that? I haven't been able to find anything in the manual [1]. [1] https://orgmode.org/org.html#Clocking-commands Cheers, and thank you once again for this great piece of software! Leo