emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* question about agendas
@ 2011-03-31 18:39 Filippo A. Salustri
  2011-03-31 18:51 ` Nick Dokos
  0 siblings, 1 reply; 3+ messages in thread
From: Filippo A. Salustri @ 2011-03-31 18:39 UTC (permalink / raw)
  To: emacs-orgmode

Hi all,
I'm looking to customize how some agenda commands work.
The simple example I'm working on is combining changing a task's
priority AND refreshing the agenda.

What I'd normally do is:
1. cursor to the task of interest,
2. change its priority,
3. refresh the agenda.

After step 3, the cursor remains where it was in step 2.  That's fine.

Then I rebind , in org-agenda-mode-map to this:
(defun org-fas-agenda-priority (&optional p)
  "Change the priority of the current item, then refresh agenda."
  (interactive)
  (save-excursion
    (if (org-agenda-priority p)
	(org-agenda-redo))))

When this function runs, it does exactly what I want it to do.

BUT the cursor jumps to row one of the agenda buffer.

Can anyone suggest a cause and a fix?

Cheers.
Fil

-- 
Filippo A. Salustri, Ph.D., P.Eng.
Mechanical and Industrial Engineering
Ryerson University
350 Victoria St, Toronto, ON
M5B 2K3, Canada
Tel: 416/979-5000 ext 7749
Fax: 416/979-5265
Email: salustri@ryerson.ca
http://deseng.ryerson.ca/~fil/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: question about agendas
  2011-03-31 18:39 question about agendas Filippo A. Salustri
@ 2011-03-31 18:51 ` Nick Dokos
  2011-03-31 18:58   ` Filippo A. Salustri
  0 siblings, 1 reply; 3+ messages in thread
From: Nick Dokos @ 2011-03-31 18:51 UTC (permalink / raw)
  To: Filippo A. Salustri; +Cc: nicholas.dokos, emacs-orgmode

Filippo A. Salustri <salustri@ryerson.ca> wrote:

> Hi all,
> I'm looking to customize how some agenda commands work.
> The simple example I'm working on is combining changing a task's
> priority AND refreshing the agenda.
> 
> What I'd normally do is:
> 1. cursor to the task of interest,
> 2. change its priority,
> 3. refresh the agenda.
> 
> After step 3, the cursor remains where it was in step 2.  That's fine.
> 
> Then I rebind , in org-agenda-mode-map to this:
> (defun org-fas-agenda-priority (&optional p)
>   "Change the priority of the current item, then refresh agenda."
>   (interactive)
>   (save-excursion
>     (if (org-agenda-priority p)
> 	(org-agenda-redo))))
> 
> When this function runs, it does exactly what I want it to do.
> 
> BUT the cursor jumps to row one of the agenda buffer.
> 
> Can anyone suggest a cause and a fix?
> 

I don't understand it yet, but can you try without the save-excursion
and see if it does what you want?

Nick

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: question about agendas
  2011-03-31 18:51 ` Nick Dokos
@ 2011-03-31 18:58   ` Filippo A. Salustri
  0 siblings, 0 replies; 3+ messages in thread
From: Filippo A. Salustri @ 2011-03-31 18:58 UTC (permalink / raw)
  To: nicholas.dokos; +Cc: emacs-orgmode

Nick,
Thanks for the quick reply.

I'd actually started with a similar wrapper for org-priority, and the
save-excursion was needed because the org-agenda-redo would punt me
into the agenda from whatever other buffer I was in.

I carried the save-excursion into the agenda version of the function
because I thought it couldn't hurt.

Apparently it does.

Removing the save-excursion from the defun below fixes the cursor problem.
...could it be because the excursion is saved before the agenda buffer
is rebuilt?

Anyways, it's fixed, so I'm happy.
Thanks!
Cheers.
Fil

On 31 March 2011 14:51, Nick Dokos <nicholas.dokos@hp.com> wrote:
> Filippo A. Salustri <salustri@ryerson.ca> wrote:
>
>> Hi all,
>> I'm looking to customize how some agenda commands work.
>> The simple example I'm working on is combining changing a task's
>> priority AND refreshing the agenda.
>>
>> What I'd normally do is:
>> 1. cursor to the task of interest,
>> 2. change its priority,
>> 3. refresh the agenda.
>>
>> After step 3, the cursor remains where it was in step 2.  That's fine.
>>
>> Then I rebind , in org-agenda-mode-map to this:
>> (defun org-fas-agenda-priority (&optional p)
>>   "Change the priority of the current item, then refresh agenda."
>>   (interactive)
>>   (save-excursion
>>     (if (org-agenda-priority p)
>>       (org-agenda-redo))))
>>
>> When this function runs, it does exactly what I want it to do.
>>
>> BUT the cursor jumps to row one of the agenda buffer.
>>
>> Can anyone suggest a cause and a fix?
>>
>
> I don't understand it yet, but can you try without the save-excursion
> and see if it does what you want?
>
> Nick
>



-- 
Filippo A. Salustri, Ph.D., P.Eng.
Mechanical and Industrial Engineering
Ryerson University
350 Victoria St, Toronto, ON
M5B 2K3, Canada
Tel: 416/979-5000 ext 7749
Fax: 416/979-5265
Email: salustri@ryerson.ca
http://deseng.ryerson.ca/~fil/

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-03-31 18:58 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-31 18:39 question about agendas Filippo A. Salustri
2011-03-31 18:51 ` Nick Dokos
2011-03-31 18:58   ` Filippo A. Salustri

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).