New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document group folding with origami, add header keymap #44

Closed
wakatara opened this Issue Jul 14, 2018 · 5 comments

Comments

Projects
None yet
2 participants
@wakatara

wakatara commented Jul 14, 2018

First off, thank you so much for creating such a super useful addition to org-mode. I'm instantly ❤️ ing this now I've customized it a bit it is serious helping in my migration from Taskpaper to org-mode.

While the Headings/Names are great, my config and the fact I have a lot of tasks/followups to a very long super-agenda screen (which is an issue on a laptop), and one thing that would be amazing is if I could interactively hide/fold a Named heading (ie. Today, Habits, Due Soon etc) via the Tab key much as I would do in an org-mode file on a heading.

Would be super handy for focusing on things.

And again, thank you for making this. I actually think I would have abandoned org-mode and run back to Taskpaper if not for you writing this super useful module.

@alphapapa

This comment has been minimized.

Show comment
Hide comment
@alphapapa

alphapapa Jul 14, 2018

Owner

Hi,

I'm very glad you are finding it so useful. It also transformed the agenda for me, as without it, all the items run together, and I couldn't make much sense out of it. You might also find this package useful or interesting: https://github.com/alphapapa/org-agenda-ng

Folding is a neat idea, and it can actually be done already without any changes to this package. The easiest way I've found is to use the origami package. Just enable origami-mode in the agenda buffer, and then the origami-toggle-node command works "out-of-the-box" to fold agenda sections.

I also happened to see this post on Reddit yesterday: https://www.reddit.com/r/emacs/comments/8yrklz/using_outlinemode_with_org_agenda/ That would probably do the job also.

I should probably add this to the readme as a recommended customization...

Owner

alphapapa commented Jul 14, 2018

Hi,

I'm very glad you are finding it so useful. It also transformed the agenda for me, as without it, all the items run together, and I couldn't make much sense out of it. You might also find this package useful or interesting: https://github.com/alphapapa/org-agenda-ng

Folding is a neat idea, and it can actually be done already without any changes to this package. The easiest way I've found is to use the origami package. Just enable origami-mode in the agenda buffer, and then the origami-toggle-node command works "out-of-the-box" to fold agenda sections.

I also happened to see this post on Reddit yesterday: https://www.reddit.com/r/emacs/comments/8yrklz/using_outlinemode_with_org_agenda/ That would probably do the job also.

I should probably add this to the readme as a recommended customization...

@alphapapa alphapapa self-assigned this Jul 14, 2018

@alphapapa alphapapa changed the title from FEATURE REQUEST: Folding/Hiding "Name" section with Tab to Document group folding with origami Jul 14, 2018

@alphapapa

This comment has been minimized.

Show comment
Hide comment
@alphapapa

alphapapa Jul 14, 2018

Owner

Another thing I should probably do is apply a keymap to the group headings so that e.g. TAB could have a different effect with point on group headings than elsewhere in the agenda buffer.

Owner

alphapapa commented Jul 14, 2018

Another thing I should probably do is apply a keymap to the group headings so that e.g. TAB could have a different effect with point on group headings than elsewhere in the agenda buffer.

@alphapapa alphapapa changed the title from Document group folding with origami to Document group folding with origami, add header keymap Jul 14, 2018

@alphapapa alphapapa closed this in 5d3b721 Jul 14, 2018

@alphapapa

This comment has been minimized.

Show comment
Hide comment
@alphapapa

alphapapa Jul 14, 2018

Owner

That should do it. Thanks for bringing this up. Please let me know how it works for you.

Owner

alphapapa commented Jul 14, 2018

That should do it. Thanks for bringing this up. Please let me know how it works for you.

alphapapa added a commit that referenced this issue Jul 14, 2018

Add: Header keymap and examples of using with Origami
Closes #44.  Thanks to Daryl Manning (@wakatara) for suggesting.  (I
think another user also suggested it a while back, but I forget
who...)

alphapapa added a commit that referenced this issue Jul 14, 2018

Add: Header keymap and examples of using with Origami
Closes #44.  Thanks to Daryl Manning (@wakatara) for suggesting.  (I
think another user also suggested it a while back, but I forget
who...)

alphapapa added a commit that referenced this issue Jul 14, 2018

Add: Header keymap and examples of using with Origami
Closes #44.  Thanks to Daryl Manning (@wakatara) for suggesting.  (I
think another user also suggested it a while back, but I forget
who...)
@alphapapa

This comment has been minimized.

Show comment
Hide comment
@alphapapa

alphapapa Jul 14, 2018

Owner

BTW, looking at your Taskpaper screenshot reminded me of this: https://github.com/alphapapa/org-sidebar I'm guessing that you might find that package useful or interesting as well. It's at a very early stage, but I think the idea of having persistent side windows for Org has a lot of potential.

One other thing: on that Taskpaper theme I saw you mention:

So, I make heavy use of searches like @Week = 45 and not @done to look at all my tasks organized by client/project, picking a task, updating it based on actioning it, and then moving it into a future week for followup (ie. tagging the item with emailed 2016-11-07 - fup @Week(47)). This works very well for me.

So you might find org-ql and org-agenda-ng especially interesting, as you could write a query like:

(org-agenda-ng
 (and (property "week" "45")
      (not (done))))

Or even (I think this should work, untested):

(org-agenda-ng
 (and (--when-let (property "week" "45")
        (> (string-to-number it) (org-days-to-iso-week (org-today))))
      (not (done))))
Owner

alphapapa commented Jul 14, 2018

BTW, looking at your Taskpaper screenshot reminded me of this: https://github.com/alphapapa/org-sidebar I'm guessing that you might find that package useful or interesting as well. It's at a very early stage, but I think the idea of having persistent side windows for Org has a lot of potential.

One other thing: on that Taskpaper theme I saw you mention:

So, I make heavy use of searches like @Week = 45 and not @done to look at all my tasks organized by client/project, picking a task, updating it based on actioning it, and then moving it into a future week for followup (ie. tagging the item with emailed 2016-11-07 - fup @Week(47)). This works very well for me.

So you might find org-ql and org-agenda-ng especially interesting, as you could write a query like:

(org-agenda-ng
 (and (property "week" "45")
      (not (done))))

Or even (I think this should work, untested):

(org-agenda-ng
 (and (--when-let (property "week" "45")
        (> (string-to-number it) (org-days-to-iso-week (org-today))))
      (not (done))))
@wakatara

This comment has been minimized.

Show comment
Hide comment
@wakatara

wakatara Jul 15, 2018

@alphapapa This is amazing. Thank you!! Especially for adding in the documentation details since I trundled off last night to get origami working from your original suggestion (and instead got distracted but got gcal syncing working properly.)

As soon as I have a chance to play around with NG I will, because, as you've pointed out, having the query language available especially if I can dynamically make it understand weeks (which is

Taskpapers hugest weakness, it is not really date aware), would be immensely useful. Right, now I'm tagging things manually (eg :w28:) and then filtering with the / TAB for each week which works but is a bit suboptimal. Using lisp to make it programmable would be amazing.

And yes, a persistent side window would be super helpful to navigate "Projects". I actually have to admit to loving the way Taskpaper represents the idea of a project (a simple Heading with a :/n after it. The extra structure beyond simple ToDos would be a killer addition to org-mode as well imho. MUch as you've noted from having to create SuperAgenda, the lack of a hierarchical structure is something you were forced to create. As it is at the moment, I'm effectively creating that structure in an .org file, it's just not represented well in the listing of ToDos (and tbh, it would make archiving much, much more contexttgual since you cold add a Project tag when archiving.).

Anyhow... all that aside, thank you again for documenting this so quickly (I'm beginning to realize there is little that some package doesnm't do in org-mode... though some deep underlying basics, like the way it deals with recurring tasks, but does not keep history in-agenda, the lack of the hierarchical nature of ToDos etc etc... are all interesting issues.).

ciao!

wakatara commented Jul 15, 2018

@alphapapa This is amazing. Thank you!! Especially for adding in the documentation details since I trundled off last night to get origami working from your original suggestion (and instead got distracted but got gcal syncing working properly.)

As soon as I have a chance to play around with NG I will, because, as you've pointed out, having the query language available especially if I can dynamically make it understand weeks (which is

Taskpapers hugest weakness, it is not really date aware), would be immensely useful. Right, now I'm tagging things manually (eg :w28:) and then filtering with the / TAB for each week which works but is a bit suboptimal. Using lisp to make it programmable would be amazing.

And yes, a persistent side window would be super helpful to navigate "Projects". I actually have to admit to loving the way Taskpaper represents the idea of a project (a simple Heading with a :/n after it. The extra structure beyond simple ToDos would be a killer addition to org-mode as well imho. MUch as you've noted from having to create SuperAgenda, the lack of a hierarchical structure is something you were forced to create. As it is at the moment, I'm effectively creating that structure in an .org file, it's just not represented well in the listing of ToDos (and tbh, it would make archiving much, much more contexttgual since you cold add a Project tag when archiving.).

Anyhow... all that aside, thank you again for documenting this so quickly (I'm beginning to realize there is little that some package doesnm't do in org-mode... though some deep underlying basics, like the way it deals with recurring tasks, but does not keep history in-agenda, the lack of the hierarchical nature of ToDos etc etc... are all interesting issues.).

ciao!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment