[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] Hack: org-agenda-cache.el
From: |
Carsten Dominik |
Subject: |
Re: [O] Hack: org-agenda-cache.el |
Date: |
Mon, 16 Jan 2012 22:48:13 +0100 |
On 16.1.2012, at 17:31, Max Mikhanosha wrote:
> Hi Carsten,
>
> At Mon, 16 Jan 2012 16:40:01 +0100,
> Carsten Dominik wrote:
>> On 16.1.2012, at 13:18, Carsten Dominik wrote:
>>
>> Sorry, I am talking about `org-agenda-markers', and indeed, some
>> care has to be taken here. Basically, the function
>> org-agenda-new-marker needs to be modified to take a buffer as an
>> argument, and then to push the new marker on the list of markers in
>> that buffer. Also, org-agenda-save-markers-in-region needs to be
>> modified.
>>
>> OK, this is a bit complicated, I am willing to help. If you make a
>> new patch that implements the multibuffer stuff in org-agenda, I
>> will look at the marker issues and implement them.
>
> Cool, I'll redo it and submit a patch in the next few days. The plan
> is:
>
> - Multi-buffer support (ie buffer-local vars) goes in
> unconditionally, since I think there is no way to undo making
> variable buffer local, and if there is, it would make toggling on/off
> function really complicated.
Not really, there is `kill-local-variable'. But I agree, not big
reason to make it possible to turn it off.
>
> About the markers, what about if I call to clean them up
> kill-buffer-hook? This will work even if user kills the buffer
> manually, not just on q key.
Sounds good, make sure to add to the kill-buffer-hook *locally*,
using org-add-hook (for XEmacs compatibility).
>
> - The "use existing buffer, and bury on quit" toggle needs a new
> name org-agenda-reuse-buffers? Wanderlust has a similar mechanism
> and its called "sticky summary buffers", so maybe
> org-agenda-buffer-sticky?
Sounds good to me.
>
> - The C-u r that you suggested to kill all buffers is already taken
> by "reload with a
> search string", so I think for cleanup bindings could be:
>
> q -> kill buffer or bury if enabled
> Q -> always kill
> C-u Q -> kill all agenda buffers (ie cleanup)
Jup.
>
> Now that I'm thinking it also needs to keep track of all agenda
> buffers, so need a global list. The kill-buffer hook should work
> there too.
You can also loop over all buffers and find the ones which
are in org-agenda-mode. This is a bit easier than keeping
track of them.
Regards
- Carsten