emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Sticky Agenda buffer: Announcement and request for testing
@ 2012-03-11 12:48 Dominik, Carsten
  2012-03-13 17:30 ` Manuel Hermenegildo
                   ` (3 more replies)
  0 siblings, 4 replies; 14+ messages in thread
From: Dominik, Carsten @ 2012-03-11 12:48 UTC (permalink / raw)
  To: Org Mode List

Hi everyone,

already in Januar, Max Mikhanosha had published the first
version of his code to implement multiple agenda buffers.  I have
worked with him over the last few weeks, and we think that
it is now quite stable.

Sticky agenda buffers (this is how Max calls it now) means the
ability to keep multiple agenda buffer around.  So while this
does not cut down on the time it takes to create an agenda view,
it has massive impact in a situation where you would like to
switch between different agenda views frequently.

The code it available in the git repository, in the branch
max-sticky-agenda.  And it would be great if a few people
could go ahead and do some testing before we merge it.
Testing should be done both with sticky buffers turned off and
turned on.

We have made it now very simple to test it:

  git pull origin
  git checkout max-sticky-agenda

Then, in Emacs, use the `*' key in the agenda dispatcher
to turn sticky buffers on and off.

Since sticky buffers are not made new each time you look
at them, you need to update them when you think it is needed,
by pressing `g' or `r' in the buffer.  To make sure all
buffer are rebuilt, use `C-c a * *', so press the star twice
to toggle sticky buffer off and back on.  This will remove
all existing agenda buffers, so that they will be made again
when you dispatch to them.

Regards

- Carsten and Max

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

* Re: Sticky Agenda buffer: Announcement and request for testing
  2012-03-11 12:48 Sticky Agenda buffer: Announcement and request for testing Dominik, Carsten
@ 2012-03-13 17:30 ` Manuel Hermenegildo
  2012-03-13 19:21   ` Samuel Wales
  2012-04-03  5:37   ` Bastien
  2012-03-14 15:54 ` Rainer Stengele
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 14+ messages in thread
From: Manuel Hermenegildo @ 2012-03-13 17:30 UTC (permalink / raw)
  To: Dominik, Carsten; +Cc: Org Mode List


Dear Max and Dominik,

the new sticky agenda buffers are great! I have been using the branch
for some time now and they seem to work fine. Fantastic job. 

I have to say at first I thought they were not working and it was
because I had a preconception that they would do something else: I
thought that what was sticky was the different views of a *single*
agenda.

For example, say you are in the week view of the agenda. I was
expecting Org to remember the rendering of each week as you move from
one week to another instead of recomputing each view each time (which
if you have large org files is quite slow).

I then realized of course that what was sticky was the different
agenda views (todos, agendas, etc.). And rereading the manual it is
obvious now that this is exactly what it says, so no complaints there
of course.

But, would it be possible to achieve the behavior I had mistakenly
assumed? 

Going back to the week view example, Org would remember the rendering
of each week as you move from one week to another, not recomputing a
week that has already been visited. The different weeks would be kept
in different buffers (called, e.g., *Org Agenda (<year/week number>*).
All these buffers would be recomputed only when g is typed. It woudl
work the same with, say, day view.

I at least would find that *very* useful (but I do not know how much
more complicated it is than the current stickiness).

Cheers,

Manuel 

-- 

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

* Re: Sticky Agenda buffer: Announcement and request for testing
  2012-03-13 17:30 ` Manuel Hermenegildo
@ 2012-03-13 19:21   ` Samuel Wales
  2012-04-03  5:37   ` Bastien
  1 sibling, 0 replies; 14+ messages in thread
From: Samuel Wales @ 2012-03-13 19:21 UTC (permalink / raw)
  To: Manuel Hermenegildo; +Cc: Org Mode List, Dominik, Carsten

Cannot test at this time, but I have an a priori comment.

Having multiple agenda buffers around increases the probability that
you will change the outline buffers before you perform an operation in
the agenda.  You might do this either by performing agenda commands in
an agenda buffer or by directly editing the outline buffer.

As the agenda uses markers to get to the outline buffer, this
increases the probability that you will perform an operation that will
corrupt the outline buffer.

I have not thought about this deeply, but perhaps every agenda command
should perform a rudimentary check, if possible, to make sure the
marker still points to where it did when the agenda in which it was
called was created.

This might entail storing header strings, or the like.  It might not be ideal.

However, I have noticed buffer corruption in the past and I think it
would be good to keep this risk in mind in case we can come up with
ways of making agenda commands safer.

I avoid using the agenda because I don't always know if the marker
still points where it should.

Hope this helps.

Samuel

-- 
The Kafka Pandemic: http://thekafkapandemic.blogspot.com

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

* Re: Sticky Agenda buffer: Announcement and request for testing
  2012-03-11 12:48 Sticky Agenda buffer: Announcement and request for testing Dominik, Carsten
  2012-03-13 17:30 ` Manuel Hermenegildo
@ 2012-03-14 15:54 ` Rainer Stengele
  2012-03-14 18:12   ` Max Mikhanosha
  2012-03-22  9:57 ` Rainer Stengele
  2012-04-03  5:33 ` Bastien
  3 siblings, 1 reply; 14+ messages in thread
From: Rainer Stengele @ 2012-03-14 15:54 UTC (permalink / raw)
  Cc: Org Mode List

Hi,

Thanks for the new possibility!
It works as described.

I have a few functions based on the org-agenda-buffer-name, which now is no more available,
as all the agenda buffers are named differently:

..
  (if (get-buffer org-agenda-buffer-name)
..
will no more work.


I hope that the current agenda buffer names pattern will stay as it is.
I will have to hardcode the changed buffer names.

Thanks,
Rainer





Am 11.03.2012 13:48, schrieb Dominik, Carsten:
> Hi everyone,
> 
> already in Januar, Max Mikhanosha had published the first
> version of his code to implement multiple agenda buffers.  I have
> worked with him over the last few weeks, and we think that
> it is now quite stable.
> 
> Sticky agenda buffers (this is how Max calls it now) means the
> ability to keep multiple agenda buffer around.  So while this
> does not cut down on the time it takes to create an agenda view,
> it has massive impact in a situation where you would like to
> switch between different agenda views frequently.
> 
> The code it available in the git repository, in the branch
> max-sticky-agenda.  And it would be great if a few people
> could go ahead and do some testing before we merge it.
> Testing should be done both with sticky buffers turned off and
> turned on.
> 
> We have made it now very simple to test it:
> 
>   git pull origin
>   git checkout max-sticky-agenda
> 
> Then, in Emacs, use the `*' key in the agenda dispatcher
> to turn sticky buffers on and off.
> 
> Since sticky buffers are not made new each time you look
> at them, you need to update them when you think it is needed,
> by pressing `g' or `r' in the buffer.  To make sure all
> buffer are rebuilt, use `C-c a * *', so press the star twice
> to toggle sticky buffer off and back on.  This will remove
> all existing agenda buffers, so that they will be made again
> when you dispatch to them.
> 
> Regards
> 
> - Carsten and Max
> 
> 

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

* Re: Sticky Agenda buffer: Announcement and request for testing
  2012-03-14 15:54 ` Rainer Stengele
@ 2012-03-14 18:12   ` Max Mikhanosha
  0 siblings, 0 replies; 14+ messages in thread
From: Max Mikhanosha @ 2012-03-14 18:12 UTC (permalink / raw)
  To: emacs-orgmode; +Cc: Rainer Stengele

At Wed, 14 Mar 2012 16:54:17 +0100,
Rainer Stengele wrote:
> 
> I have a few functions based on the org-agenda-buffer-name, which now is no more available,
> as all the agenda buffers are named differently:
> 
> ..
>   (if (get-buffer org-agenda-buffer-name)
> ..
> will no more work.

If you don't turn sticky on, then the name of the agenda will stay the
same as before, it only generates unique names if sticky is enabled.

>
> I hope that the current agenda buffer names pattern will stay as it is.
> I will have to hardcode the changed buffer names.

The method of generating default sticky agenda buffer names by adding
keys used to invoke it will not change.

You can also override it by using `org-agenda-custom-commands', if you
specify `org-agenda-buffer-name' as one of the variables being
overridden for a specific command, that name will take precedence over
the automatic method.

Regards,
  Max

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

* Re: Sticky Agenda buffer: Announcement and request for testing
  2012-03-11 12:48 Sticky Agenda buffer: Announcement and request for testing Dominik, Carsten
  2012-03-13 17:30 ` Manuel Hermenegildo
  2012-03-14 15:54 ` Rainer Stengele
@ 2012-03-22  9:57 ` Rainer Stengele
  2012-03-22 10:12   ` Bastien
  2012-04-03  5:33 ` Bastien
  3 siblings, 1 reply; 14+ messages in thread
From: Rainer Stengele @ 2012-03-22  9:57 UTC (permalink / raw)
  To: Dominik, Carsten; +Cc: Org Mode List

Hi Carsten,

I have had no problems with sticky buffers.
I use 2 or 3 of them and really like the function.
When will they be merged into master?

Regards,
Rainer

Am 11.03.2012 13:48, schrieb Dominik, Carsten:
> Hi everyone,
> 
> already in Januar, Max Mikhanosha had published the first
> version of his code to implement multiple agenda buffers.  I have
> worked with him over the last few weeks, and we think that
> it is now quite stable.
> 
> Sticky agenda buffers (this is how Max calls it now) means the
> ability to keep multiple agenda buffer around.  So while this
> does not cut down on the time it takes to create an agenda view,
> it has massive impact in a situation where you would like to
> switch between different agenda views frequently.
> 
> The code it available in the git repository, in the branch
> max-sticky-agenda.  And it would be great if a few people
> could go ahead and do some testing before we merge it.
> Testing should be done both with sticky buffers turned off and
> turned on.
> 
> We have made it now very simple to test it:
> 
>   git pull origin
>   git checkout max-sticky-agenda
> 
> Then, in Emacs, use the `*' key in the agenda dispatcher
> to turn sticky buffers on and off.
> 
> Since sticky buffers are not made new each time you look
> at them, you need to update them when you think it is needed,
> by pressing `g' or `r' in the buffer.  To make sure all
> buffer are rebuilt, use `C-c a * *', so press the star twice
> to toggle sticky buffer off and back on.  This will remove
> all existing agenda buffers, so that they will be made again
> when you dispatch to them.
> 
> Regards
> 
> - Carsten and Max
> 
> 

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

* Re: Sticky Agenda buffer: Announcement and request for testing
  2012-03-22  9:57 ` Rainer Stengele
@ 2012-03-22 10:12   ` Bastien
  2012-03-22 11:04     ` Rainer Stengele
  0 siblings, 1 reply; 14+ messages in thread
From: Bastien @ 2012-03-22 10:12 UTC (permalink / raw)
  To: Rainer Stengele; +Cc: Org Mode List, Dominik, Carsten

Hi Rainer,

Rainer Stengele <rainer.stengele@online.de> writes:

> I have had no problems with sticky buffers.
> I use 2 or 3 of them and really like the function.
> When will they be merged into master?

I will test the branch and merge it to master if there is no problem.

But I need to focus on releasing 7.8.07 first, which will be the one
I'll sync with Emacs.

I would say the branch will be merged within a week or so.

Best,

-- 
 Bastien

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

* Re: Sticky Agenda buffer: Announcement and request for testing
  2012-03-22 10:12   ` Bastien
@ 2012-03-22 11:04     ` Rainer Stengele
  2012-03-27 11:46       ` Martyn Jago
  0 siblings, 1 reply; 14+ messages in thread
From: Rainer Stengele @ 2012-03-22 11:04 UTC (permalink / raw)
  To: Bastien; +Cc: Org Mode List, Dominik, Carsten

Hi all,

no need to hurry,
I just wanted to hear about plans.

I can stick with the test branch for now.

Best,
Rainer

Am 22.03.2012 11:12, schrieb Bastien:
> Hi Rainer,
>
> Rainer Stengele <rainer.stengele@online.de> writes:
>
>> I have had no problems with sticky buffers.
>> I use 2 or 3 of them and really like the function.
>> When will they be merged into master?
> I will test the branch and merge it to master if there is no problem.
>
> But I need to focus on releasing 7.8.07 first, which will be the one
> I'll sync with Emacs.
>
> I would say the branch will be merged within a week or so.
>
> Best,
>

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

* Re: Sticky Agenda buffer: Announcement and request for testing
  2012-03-22 11:04     ` Rainer Stengele
@ 2012-03-27 11:46       ` Martyn Jago
  0 siblings, 0 replies; 14+ messages in thread
From: Martyn Jago @ 2012-03-27 11:46 UTC (permalink / raw)
  To: emacs-orgmode

Rainer Stengele <rainer.stengele@online.de> writes:


[...]

+1

Works very well for me. 

My Org Agenda usage has modified somewhat thanks to the use of
'org-agenda-sticky and I really like my current usage.

Thanks!

Martyn

---
Org-mode version 7.8.06 (release_7.8.03.594.g013d)
GNU Emacs 24.0.94.1 (x86_64-apple-darwin, NS apple-appkit-1038.36)
 of 2012-02-28 on bob.porkrind.org

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

* Re: Sticky Agenda buffer: Announcement and request for testing
  2012-03-11 12:48 Sticky Agenda buffer: Announcement and request for testing Dominik, Carsten
                   ` (2 preceding siblings ...)
  2012-03-22  9:57 ` Rainer Stengele
@ 2012-04-03  5:33 ` Bastien
  2012-04-03  6:58   ` Carsten Dominik
  3 siblings, 1 reply; 14+ messages in thread
From: Bastien @ 2012-04-03  5:33 UTC (permalink / raw)
  To: Dominik, Carsten; +Cc: Org Mode List

Hi Carsten and Max,

"Dominik, Carsten" <C.Dominik@uva.nl> writes:

> already in Januar, Max Mikhanosha had published the first
> version of his code to implement multiple agenda buffers.  I have
> worked with him over the last few weeks, and we think that
> it is now quite stable.

I've been trying the agenda-sticky branch a few times now and I love
this feature -- thanks a lot!

One request: I often use buffer restrictions in combination with agenda
views.  For example, I restrict to a first-level tree then run my daily
agenda on that tree.

In this case, using sticky agenda is a bit confusing because I expect 
a completely different agenda view while using the same agenda key (none
of the items in a tree are part of another subtree.)

Could we have an option allowing a set of rules (or a set of agenda
views) for which we want the rebuilding to be done automatically?  I
would turn on this for my daily agenda views.

Thanks,

-- 
 Bastien

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

* Re: Sticky Agenda buffer: Announcement and request for testing
  2012-03-13 17:30 ` Manuel Hermenegildo
  2012-03-13 19:21   ` Samuel Wales
@ 2012-04-03  5:37   ` Bastien
  1 sibling, 0 replies; 14+ messages in thread
From: Bastien @ 2012-04-03  5:37 UTC (permalink / raw)
  To: Manuel Hermenegildo; +Cc: Org Mode List, Dominik, Carsten

Hi Manuel,

Manuel Hermenegildo <herme@fi.upm.es> writes:

> But, would it be possible to achieve the behavior I had mistakenly
> assumed? 
>
> Going back to the week view example, Org would remember the rendering
> of each week as you move from one week to another, not recomputing a
> week that has already been visited. The different weeks would be kept
> in different buffers (called, e.g., *Org Agenda (<year/week number>*).
> All these buffers would be recomputed only when g is typed. It woudl
> work the same with, say, day view.
>
> I at least would find that *very* useful (but I do not know how much
> more complicated it is than the current stickiness).

I played around with your idea, storing informations from each agenda
view in a variable `org-agenda-listing' -- which is kind of a "cache"
for agendas.

While the idea is neat, the implementation has to be careful of keeping
old agenda views in sync with the state of the .org buffers, as Samuel
correctly pointed out.

I've nothing mature yet in this area, but I'll surely digg again when
the sticky agenda branch is merged.

Please ping us with this idea again after the merge.

Thanks,

-- 
 Bastien

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

* Re: Sticky Agenda buffer: Announcement and request for testing
  2012-04-03  5:33 ` Bastien
@ 2012-04-03  6:58   ` Carsten Dominik
  2012-04-03  7:06     ` Bastien
  0 siblings, 1 reply; 14+ messages in thread
From: Carsten Dominik @ 2012-04-03  6:58 UTC (permalink / raw)
  To: Bastien Guerry; +Cc: Org Mode List, Dominik, Carsten

Hi Bastien,

of course this is how I'd like it to work as well, but this was too hard for the moment... :(

On Apr 3, 2012, at 7:33 AM, Bastien bzg@gnu.org wrote:

> Hi Carsten and Max,
> 
> "Dominik, Carsten" <C.Dominik@uva.nl> writes:
> 
>> already in Januar, Max Mikhanosha had published the first
>> version of his code to implement multiple agenda buffers.  I have
>> worked with him over the last few weeks, and we think that
>> it is now quite stable.
> 
> I've been trying the agenda-sticky branch a few times now and I love
> this feature -- thanks a lot!
> 
> One request: I often use buffer restrictions in combination with agenda
> views.  For example, I restrict to a first-level tree then run my daily
> agenda on that tree.
> 
> In this case, using sticky agenda is a bit confusing because I expect 
> a completely different agenda view while using the same agenda key (none
> of the items in a tree are part of another subtree.)
> 
> Could we have an option allowing a set of rules (or a set of agenda
> views) for which we want the rebuilding to be done automatically?  I
> would turn on this for my daily agenda views.
> 
> Thanks,
> 
> -- 
> Bastien

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

* Re: Sticky Agenda buffer: Announcement and request for testing
  2012-04-03  6:58   ` Carsten Dominik
@ 2012-04-03  7:06     ` Bastien
  2012-04-03  7:09       ` Dominik, Carsten
  0 siblings, 1 reply; 14+ messages in thread
From: Bastien @ 2012-04-03  7:06 UTC (permalink / raw)
  To: Carsten Dominik; +Cc: Org Mode List, Dominik, Carsten

Hi Carsten,

Carsten Dominik <dominik@uva.nl> writes:

> of course this is how I'd like it to work as well, but this was too
> hard for the moment... :(

No problem -- since `org-agenda-sticky' is nil by default 
you can proceed with the merge when you think it's okay (also 
see Martyn's feedback) and we can try to implement such an
option later on?

Your take.  

Thanks!

-- 
 Bastien

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

* Re: Sticky Agenda buffer: Announcement and request for testing
  2012-04-03  7:06     ` Bastien
@ 2012-04-03  7:09       ` Dominik, Carsten
  0 siblings, 0 replies; 14+ messages in thread
From: Dominik, Carsten @ 2012-04-03  7:09 UTC (permalink / raw)
  To: Bastien; +Cc: Org Mode List, Dominik, Carsten


On 3.4.2012, at 09:06, Bastien wrote:

> Hi Carsten,
> 
> Carsten Dominik <dominik@uva.nl> writes:
> 
>> of course this is how I'd like it to work as well, but this was too
>> hard for the moment... :(
> 
> No problem -- since `org-agenda-sticky' is nil by default 
> you can proceed with the merge when you think it's okay (also 
> see Martyn's feedback) and we can try to implement such an
> option later on?

Yes.  I am not 100% sure that there are no side effects left - but the best way to find out is to merge it.
Maybe we need to document the restriction issue.

- Carsten

> 
> Your take.  
> 
> Thanks!
> 
> -- 
> Bastien

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

end of thread, other threads:[~2012-04-03  7:09 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-11 12:48 Sticky Agenda buffer: Announcement and request for testing Dominik, Carsten
2012-03-13 17:30 ` Manuel Hermenegildo
2012-03-13 19:21   ` Samuel Wales
2012-04-03  5:37   ` Bastien
2012-03-14 15:54 ` Rainer Stengele
2012-03-14 18:12   ` Max Mikhanosha
2012-03-22  9:57 ` Rainer Stengele
2012-03-22 10:12   ` Bastien
2012-03-22 11:04     ` Rainer Stengele
2012-03-27 11:46       ` Martyn Jago
2012-04-03  5:33 ` Bastien
2012-04-03  6:58   ` Carsten Dominik
2012-04-03  7:06     ` Bastien
2012-04-03  7:09       ` Dominik, Carsten

Code repositories for project(s) associated with this 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).