emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Multiple agenda buffers at git@github.com:7max/org-mode.git
@ 2012-01-25 21:45 Max Mikhanosha
  2012-01-26  9:50 ` Carsten Dominik
  0 siblings, 1 reply; 6+ messages in thread
From: Max Mikhanosha @ 2012-01-25 21:45 UTC (permalink / raw)
  To: emacs-orgmode; +Cc: Carsten Dominik

I had put my initial implementation of multiple agenda buffers and
sticky agenda support on git@github.com:7max/org-mode.git branch
multiple-agenda-buffers.

To enable, use M-x org-toggle-sticky-agenda

In order to take full advantage of the sticky agenda, you need to give
your various agendas different buffer names, you can do it by
including `org-agenda-buffer-name' into the list of bound variables in
`org-agenda-custom-commands'

For example:

(setq org-agenda-custom-commands
      '(("a" "Agenda and NEXT (priority)"
         ((agenda ""
                  ((org-agenda-span 'day)))
          (tags-todo "/!NEXT"
                     ((org-agenda-overriding-header "Next Tasks")
                      (org-agenda-tags-todo-honor-ignore-options t)
                      (org-agenda-todo-ignore-scheduled t)
                      (org-agenda-todo-ignore-deadlines t)
                      (org-tags-match-list-sublevels t)
                      (org-agenda-sorting-strategy
                       '(priority-down category-keep)))))
         ((org-agenda-buffer-name "*Agenda*")))
        ("t" "TODO entries"
         todo ""
         ((org-agenda-buffer-name "*Todo List*")))))


When sticky agenda is enabled, most of org-agenda Emacs variables
become buffer local, and org-agenda-quit is changed to bury the buffer
instead of killing it. Correspondingly org-agenda will show previously
buried buffer if it exists, instead of re-generating it.

This allows user to have many "mini-agendas" and switch between them
rapidly

I would appreciate any bug-reports about things not working, and of
course patches or fixes for them. The most likely cause of any
breakage is that `org-agenda-local-vars' list needs adjusting and/or
fixing.

Regards
  Max

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

* Re: Multiple agenda buffers at git@github.com:7max/org-mode.git
  2012-01-25 21:45 Multiple agenda buffers at git@github.com:7max/org-mode.git Max Mikhanosha
@ 2012-01-26  9:50 ` Carsten Dominik
  2012-01-26 11:17   ` Max Mikhanosha
  0 siblings, 1 reply; 6+ messages in thread
From: Carsten Dominik @ 2012-01-26  9:50 UTC (permalink / raw)
  To: Max Mikhanosha; +Cc: emacs-orgmode

Hi Max,

how did you select the variables that should become buffer-local?
You might have too many in your list, for example org-last-heading-marker...

Cheers

- Carsten

On 25.1.2012, at 21:45, Max Mikhanosha wrote:

> I had put my initial implementation of multiple agenda buffers and
> sticky agenda support on git@github.com:7max/org-mode.git branch
> multiple-agenda-buffers.
> 
> To enable, use M-x org-toggle-sticky-agenda
> 
> In order to take full advantage of the sticky agenda, you need to give
> your various agendas different buffer names, you can do it by
> including `org-agenda-buffer-name' into the list of bound variables in
> `org-agenda-custom-commands'
> 
> For example:
> 
> (setq org-agenda-custom-commands
>      '(("a" "Agenda and NEXT (priority)"
>         ((agenda ""
>                  ((org-agenda-span 'day)))
>          (tags-todo "/!NEXT"
>                     ((org-agenda-overriding-header "Next Tasks")
>                      (org-agenda-tags-todo-honor-ignore-options t)
>                      (org-agenda-todo-ignore-scheduled t)
>                      (org-agenda-todo-ignore-deadlines t)
>                      (org-tags-match-list-sublevels t)
>                      (org-agenda-sorting-strategy
>                       '(priority-down category-keep)))))
>         ((org-agenda-buffer-name "*Agenda*")))
>        ("t" "TODO entries"
>         todo ""
>         ((org-agenda-buffer-name "*Todo List*")))))
> 
> 
> When sticky agenda is enabled, most of org-agenda Emacs variables
> become buffer local, and org-agenda-quit is changed to bury the buffer
> instead of killing it. Correspondingly org-agenda will show previously
> buried buffer if it exists, instead of re-generating it.
> 
> This allows user to have many "mini-agendas" and switch between them
> rapidly
> 
> I would appreciate any bug-reports about things not working, and of
> course patches or fixes for them. The most likely cause of any
> breakage is that `org-agenda-local-vars' list needs adjusting and/or
> fixing.
> 
> Regards
>  Max

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

* Re: Multiple agenda buffers at git@github.com:7max/org-mode.git
  2012-01-26  9:50 ` Carsten Dominik
@ 2012-01-26 11:17   ` Max Mikhanosha
  2012-01-26 11:35     ` Carsten Dominik
  2012-01-26 11:39     ` Max Mikhanosha
  0 siblings, 2 replies; 6+ messages in thread
From: Max Mikhanosha @ 2012-01-26 11:17 UTC (permalink / raw)
  Cc: emacs-orgmode

I realize that I may have too many, my initial approach was to start
with some obvious one, then test and keep adding to the list.

But the bugs that shows up are hard to reproduce, and subtle, and it
was slow going, and I was sure I'm missing some.

So I went the other direction, and made a list of vars by grepping
org-agenda.el for "(defvar ....", and tested again, and it was easier
to eliminate the variables from the list, since any variables that
caused problems usually throw error (due to global value being NIL),
instead of doing something subtly wrong that is hard to notice.

At Thu, 26 Jan 2012 09:50:22 +0000, Carsten Dominik wrote:
> 
> Hi Max,
> 
> how did you select the variables that should become buffer-local?
> You might have too many in your list, for example org-last-heading-marker...
> 
> Cheers
> 
> - Carsten
> 
> On 25.1.2012, at 21:45, Max Mikhanosha wrote:
> 
> > I had put my initial implementation of multiple agenda buffers and
> > sticky agenda support on git@github.com:7max/org-mode.git branch
> > multiple-agenda-buffers.
> > 
> > To enable, use M-x org-toggle-sticky-agenda
> > 
> > In order to take full advantage of the sticky agenda, you need to give
> > your various agendas different buffer names, you can do it by
> > including `org-agenda-buffer-name' into the list of bound variables in
> > `org-agenda-custom-commands'
> > 
> > For example:
> > 
> > (setq org-agenda-custom-commands
> >      '(("a" "Agenda and NEXT (priority)"
> >         ((agenda ""
> >                  ((org-agenda-span 'day)))
> >          (tags-todo "/!NEXT"
> >                     ((org-agenda-overriding-header "Next Tasks")
> >                      (org-agenda-tags-todo-honor-ignore-options t)
> >                      (org-agenda-todo-ignore-scheduled t)
> >                      (org-agenda-todo-ignore-deadlines t)
> >                      (org-tags-match-list-sublevels t)
> >                      (org-agenda-sorting-strategy
> >                       '(priority-down category-keep)))))
> >         ((org-agenda-buffer-name "*Agenda*")))
> >        ("t" "TODO entries"
> >         todo ""
> >         ((org-agenda-buffer-name "*Todo List*")))))
> > 
> > 
> > When sticky agenda is enabled, most of org-agenda Emacs variables
> > become buffer local, and org-agenda-quit is changed to bury the buffer
> > instead of killing it. Correspondingly org-agenda will show previously
> > buried buffer if it exists, instead of re-generating it.
> > 
> > This allows user to have many "mini-agendas" and switch between them
> > rapidly
> > 
> > I would appreciate any bug-reports about things not working, and of
> > course patches or fixes for them. The most likely cause of any
> > breakage is that `org-agenda-local-vars' list needs adjusting and/or
> > fixing.
> > 
> > Regards
> >  Max
> 

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

* Re: Multiple agenda buffers at git@github.com:7max/org-mode.git
  2012-01-26 11:17   ` Max Mikhanosha
@ 2012-01-26 11:35     ` Carsten Dominik
  2012-01-26 11:39     ` Max Mikhanosha
  1 sibling, 0 replies; 6+ messages in thread
From: Carsten Dominik @ 2012-01-26 11:35 UTC (permalink / raw)
  To: Max Mikhanosha; +Cc: emacs-orgmode


On 26.1.2012, at 11:17, Max Mikhanosha wrote:

> I realize that I may have too many, my initial approach was to start
> with some obvious one, then test and keep adding to the list.
> 
> But the bugs that shows up are hard to reproduce, and subtle, and it
> was slow going, and I was sure I'm missing some.
> 
> So I went the other direction, and made a list of vars by grepping
> org-agenda.el for "(defvar ....", and tested again, and it was easier
> to eliminate the variables from the list, since any variables that
> caused problems usually throw error (due to global value being NIL),
> instead of doing something subtly wrong that is hard to notice.

OK, I will go through that list...

- Carsten

> 
> At Thu, 26 Jan 2012 09:50:22 +0000, Carsten Dominik wrote:
>> 
>> Hi Max,
>> 
>> how did you select the variables that should become buffer-local?
>> You might have too many in your list, for example org-last-heading-marker...
>> 
>> Cheers
>> 
>> - Carsten
>> 
>> On 25.1.2012, at 21:45, Max Mikhanosha wrote:
>> 
>>> I had put my initial implementation of multiple agenda buffers and
>>> sticky agenda support on git@github.com:7max/org-mode.git branch
>>> multiple-agenda-buffers.
>>> 
>>> To enable, use M-x org-toggle-sticky-agenda
>>> 
>>> In order to take full advantage of the sticky agenda, you need to give
>>> your various agendas different buffer names, you can do it by
>>> including `org-agenda-buffer-name' into the list of bound variables in
>>> `org-agenda-custom-commands'
>>> 
>>> For example:
>>> 
>>> (setq org-agenda-custom-commands
>>>     '(("a" "Agenda and NEXT (priority)"
>>>        ((agenda ""
>>>                 ((org-agenda-span 'day)))
>>>         (tags-todo "/!NEXT"
>>>                    ((org-agenda-overriding-header "Next Tasks")
>>>                     (org-agenda-tags-todo-honor-ignore-options t)
>>>                     (org-agenda-todo-ignore-scheduled t)
>>>                     (org-agenda-todo-ignore-deadlines t)
>>>                     (org-tags-match-list-sublevels t)
>>>                     (org-agenda-sorting-strategy
>>>                      '(priority-down category-keep)))))
>>>        ((org-agenda-buffer-name "*Agenda*")))
>>>       ("t" "TODO entries"
>>>        todo ""
>>>        ((org-agenda-buffer-name "*Todo List*")))))
>>> 
>>> 
>>> When sticky agenda is enabled, most of org-agenda Emacs variables
>>> become buffer local, and org-agenda-quit is changed to bury the buffer
>>> instead of killing it. Correspondingly org-agenda will show previously
>>> buried buffer if it exists, instead of re-generating it.
>>> 
>>> This allows user to have many "mini-agendas" and switch between them
>>> rapidly
>>> 
>>> I would appreciate any bug-reports about things not working, and of
>>> course patches or fixes for them. The most likely cause of any
>>> breakage is that `org-agenda-local-vars' list needs adjusting and/or
>>> fixing.
>>> 
>>> Regards
>>> Max
>> 
> 

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

* Re: Multiple agenda buffers at git@github.com:7max/org-mode.git
  2012-01-26 11:17   ` Max Mikhanosha
  2012-01-26 11:35     ` Carsten Dominik
@ 2012-01-26 11:39     ` Max Mikhanosha
  2012-01-26 15:10       ` Max Mikhanosha
  1 sibling, 1 reply; 6+ messages in thread
From: Max Mikhanosha @ 2012-01-26 11:39 UTC (permalink / raw)
  To: emacs-orgmode; +Cc: Carsten Dominik

I had committed a change that activates local variables, only if
org-agenda-sticky is turned on, hopefully making it completely safe to
test for people..

Now if something is screwed up, and you are in a hurry, you can turn
sticky agenda off and get on with normal org-mode usage, and then send
bug report later.

At Thu, 26 Jan 2012 06:17:45 -0500,
Max Mikhanosha wrote:
> 
> I realize that I may have too many, my initial approach was to start
> with some obvious one, then test and keep adding to the list.
> 
> But the bugs that shows up are hard to reproduce, and subtle, and it
> was slow going, and I was sure I'm missing some.
> 
> So I went the other direction, and made a list of vars by grepping
> org-agenda.el for "(defvar ....", and tested again, and it was easier
> to eliminate the variables from the list, since any variables that
> caused problems usually throw error (due to global value being NIL),
> instead of doing something subtly wrong that is hard to notice.
> 
> At Thu, 26 Jan 2012 09:50:22 +0000, Carsten Dominik wrote:
> > 
> > Hi Max,
> > 
> > how did you select the variables that should become buffer-local?
> > You might have too many in your list, for example org-last-heading-marker...
> > 
> > Cheers
> > 
> > - Carsten
> > 
> > On 25.1.2012, at 21:45, Max Mikhanosha wrote:
> > 
> > > I had put my initial implementation of multiple agenda buffers and
> > > sticky agenda support on git@github.com:7max/org-mode.git branch
> > > multiple-agenda-buffers.
> > > 
> > > To enable, use M-x org-toggle-sticky-agenda
> > > 
> > > In order to take full advantage of the sticky agenda, you need to give
> > > your various agendas different buffer names, you can do it by
> > > including `org-agenda-buffer-name' into the list of bound variables in
> > > `org-agenda-custom-commands'
> > > 
> > > For example:
> > > 
> > > (setq org-agenda-custom-commands
> > >      '(("a" "Agenda and NEXT (priority)"
> > >         ((agenda ""
> > >                  ((org-agenda-span 'day)))
> > >          (tags-todo "/!NEXT"
> > >                     ((org-agenda-overriding-header "Next Tasks")
> > >                      (org-agenda-tags-todo-honor-ignore-options t)
> > >                      (org-agenda-todo-ignore-scheduled t)
> > >                      (org-agenda-todo-ignore-deadlines t)
> > >                      (org-tags-match-list-sublevels t)
> > >                      (org-agenda-sorting-strategy
> > >                       '(priority-down category-keep)))))
> > >         ((org-agenda-buffer-name "*Agenda*")))
> > >        ("t" "TODO entries"
> > >         todo ""
> > >         ((org-agenda-buffer-name "*Todo List*")))))
> > > 
> > > 
> > > When sticky agenda is enabled, most of org-agenda Emacs variables
> > > become buffer local, and org-agenda-quit is changed to bury the buffer
> > > instead of killing it. Correspondingly org-agenda will show previously
> > > buried buffer if it exists, instead of re-generating it.
> > > 
> > > This allows user to have many "mini-agendas" and switch between them
> > > rapidly
> > > 
> > > I would appreciate any bug-reports about things not working, and of
> > > course patches or fixes for them. The most likely cause of any
> > > breakage is that `org-agenda-local-vars' list needs adjusting and/or
> > > fixing.
> > > 
> > > Regards
> > >  Max
> > 
> 

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

* Re: Multiple agenda buffers at git@github.com:7max/org-mode.git
  2012-01-26 11:39     ` Max Mikhanosha
@ 2012-01-26 15:10       ` Max Mikhanosha
  0 siblings, 0 replies; 6+ messages in thread
From: Max Mikhanosha @ 2012-01-26 15:10 UTC (permalink / raw)
  To: emacs-orgmode; +Cc: Carsten Dominik

At Thu, 26 Jan 2012 06:39:45 -0500,

Found that switching to weekly/daily view was broken, and committed
removal of org-agenda-overriding-restriction and
org-agenda-overriding-arguments from the local var list.
 
Max Mikhanosha wrote:
> 
> I had committed a change that activates local variables, only if
> org-agenda-sticky is turned on, hopefully making it completely safe to
> test for people..
> 
> Now if something is screwed up, and you are in a hurry, you can turn
> sticky agenda off and get on with normal org-mode usage, and then send
> bug report later.
> 
> At Thu, 26 Jan 2012 06:17:45 -0500,
> Max Mikhanosha wrote:
> > 
> > I realize that I may have too many, my initial approach was to start
> > with some obvious one, then test and keep adding to the list.
> > 
> > But the bugs that shows up are hard to reproduce, and subtle, and it
> > was slow going, and I was sure I'm missing some.
> > 
> > So I went the other direction, and made a list of vars by grepping
> > org-agenda.el for "(defvar ....", and tested again, and it was easier
> > to eliminate the variables from the list, since any variables that
> > caused problems usually throw error (due to global value being NIL),
> > instead of doing something subtly wrong that is hard to notice.
> > 
> > At Thu, 26 Jan 2012 09:50:22 +0000, Carsten Dominik wrote:
> > > 
> > > Hi Max,
> > > 
> > > how did you select the variables that should become buffer-local?
> > > You might have too many in your list, for example org-last-heading-marker...
> > > 
> > > Cheers
> > > 
> > > - Carsten
> > > 
> > > On 25.1.2012, at 21:45, Max Mikhanosha wrote:
> > > 
> > > > I had put my initial implementation of multiple agenda buffers and
> > > > sticky agenda support on git@github.com:7max/org-mode.git branch
> > > > multiple-agenda-buffers.
> > > > 
> > > > To enable, use M-x org-toggle-sticky-agenda
> > > > 
> > > > In order to take full advantage of the sticky agenda, you need to give
> > > > your various agendas different buffer names, you can do it by
> > > > including `org-agenda-buffer-name' into the list of bound variables in
> > > > `org-agenda-custom-commands'
> > > > 
> > > > For example:
> > > > 
> > > > (setq org-agenda-custom-commands
> > > >      '(("a" "Agenda and NEXT (priority)"
> > > >         ((agenda ""
> > > >                  ((org-agenda-span 'day)))
> > > >          (tags-todo "/!NEXT"
> > > >                     ((org-agenda-overriding-header "Next Tasks")
> > > >                      (org-agenda-tags-todo-honor-ignore-options t)
> > > >                      (org-agenda-todo-ignore-scheduled t)
> > > >                      (org-agenda-todo-ignore-deadlines t)
> > > >                      (org-tags-match-list-sublevels t)
> > > >                      (org-agenda-sorting-strategy
> > > >                       '(priority-down category-keep)))))
> > > >         ((org-agenda-buffer-name "*Agenda*")))
> > > >        ("t" "TODO entries"
> > > >         todo ""
> > > >         ((org-agenda-buffer-name "*Todo List*")))))
> > > > 
> > > > 
> > > > When sticky agenda is enabled, most of org-agenda Emacs variables
> > > > become buffer local, and org-agenda-quit is changed to bury the buffer
> > > > instead of killing it. Correspondingly org-agenda will show previously
> > > > buried buffer if it exists, instead of re-generating it.
> > > > 
> > > > This allows user to have many "mini-agendas" and switch between them
> > > > rapidly
> > > > 
> > > > I would appreciate any bug-reports about things not working, and of
> > > > course patches or fixes for them. The most likely cause of any
> > > > breakage is that `org-agenda-local-vars' list needs adjusting and/or
> > > > fixing.
> > > > 
> > > > Regards
> > > >  Max
> > > 
> > 
> 

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

end of thread, other threads:[~2012-01-26 15:10 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-01-25 21:45 Multiple agenda buffers at git@github.com:7max/org-mode.git Max Mikhanosha
2012-01-26  9:50 ` Carsten Dominik
2012-01-26 11:17   ` Max Mikhanosha
2012-01-26 11:35     ` Carsten Dominik
2012-01-26 11:39     ` Max Mikhanosha
2012-01-26 15:10       ` Max Mikhanosha

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).