From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Varnit Suri" Subject: RE: Help with binding new key to change task state Date: Tue, 17 Feb 2009 12:11:29 -0800 Message-ID: <57AC2FA1761300418C7AB8F3EA493C9702822458@HQ-EXCH-5.corp.brocade.com> References: <57AC2FA1761300418C7AB8F3EA493C97028221AE@HQ-EXCH-5.corp.brocade.com> (Varnit Suri's message of "Sun\, 15 Feb 2009 21\:09\:18 -0800") <87mycm9z1i.fsf@gollum.intra.norang.ca> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LZWI3-0007sX-BP for emacs-orgmode@gnu.org; Tue, 17 Feb 2009 15:11:35 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LZWI1-0007qA-SC for emacs-orgmode@gnu.org; Tue, 17 Feb 2009 15:11:34 -0500 Received: from [199.232.76.173] (port=49370 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LZWI1-0007px-NL for emacs-orgmode@gnu.org; Tue, 17 Feb 2009 15:11:33 -0500 Received: from mx30.brocade.com ([144.49.194.4]:18391) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LZWI1-00063m-Ac for emacs-orgmode@gnu.org; Tue, 17 Feb 2009 15:11:33 -0500 Content-class: urn:content-classes:message In-Reply-To: <87mycm9z1i.fsf@gollum.intra.norang.ca> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Bernt Hansen Cc: emacs-orgmode@gnu.org Thanks. This worked! -----Original Message----- From: Bernt Hansen [mailto:bernt@norang.ca]=20 Sent: Monday, February 16, 2009 7:34 AM To: Varnit Suri Cc: emacs-orgmode@gnu.org Subject: Re: Help with binding new key to change task state You could do something like this: (pick your favourite key) (global-set-key (kbd "") (lambda () (interactive) (org-todo 3))) For me my DONE state is the 3rd state. Find the prefix for the state you want (C-3 C-c C-t goes directly to DONE for me) and provide that value as the argument for org-todo. Then just C-f6 (or whatever key you like) and you're DONE. :) HTH, -Bernt "Varnit Suri" writes: > Thanks for your reply. The first trick worked fine. > > For the second problem though, I 'd not like to cycle through the > states. That's coz each time I change the state, I have to log it. > > So I am trying to define a single key that lets me jump straight to the > DONE state (from any other state). C-c C-t C-c works okay coz the last > 'c' chooses the DONE state from the menu. > > Any ideas how I can define a simpler key for this? Thanks. > > V. > > > -----Original Message----- > From: Bernt Hansen [mailto:bernt@norang.ca]=20 > Sent: Sunday, February 15, 2009 6:52 PM > To: Varnit Suri > Cc: emacs-orgmode@gnu.org > Subject: Re: Help with binding new key to change task state > > "Varnit Suri" writes: > >> The org manual talks about using C-u C-c C-t to change the state of a >> task. This command nicely throws up a list of several intermediate >> states to choose from. In addition, I have logging turned on, so each >> time I do this, I can log a note about the state change. >> >> I am merely trying to bind this to a simpler set of keys. I know C-c > C-t >> is bound to org-todo, but can't figure out what C-u C-c C-t binds to >> (describe-key stops at C-u). Or then, maybe I don't know Emacs/Org > well >> enough yet. Any suggestions? > > C-c C-t and C-u C-c C-t both bind to the same function. The C-u just > provides a prefix value of 4 to the function so it can behave > differently (displaying the menu of todo choices) > > You probably want to set=20 > > (setq org-use-fast-todo-selection t) > > so that C-c C-t shows the menu by default. > >> >> The second thing I am trying to do is have a shortcut to take a task >> from TODO to DONE without going through the above process. > > If you have your todo states defined in sequences you can use S-left > arrow and S-right arrow to cycle between the states quickly. > > I use the following TODO settings: > > (setq org-todo-keywords '((sequence "TODO(t)" "STARTED(s!)" "|" > "DONE(d!/!)") > (sequence "WAITING(w@/!)" "SOMEDAY(s)" "|" > "CANCELLED(c@/!)") > (sequence "QUOTATION(q!)" "QUOTED(Q!)" "|" > "APPROVED(A@)" "EXPIRED(E@)" "REJECTED(R@)") > (sequence "OPENPO(O!)" "|" "CLOSEDPO(C@)") > (sequence "|" "NOTE(n)" "PHONE(T)"))) > > so if I have a task > > * TODO Do something > > then S-right arrow moves to STARTED and a second time moves to DONE > > HTH, > Bernt