Skip to content
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

Org GTD 3.0 mega-PR #124

Merged
merged 90 commits into from
May 4, 2023
Merged

Org GTD 3.0 mega-PR #124

merged 90 commits into from
May 4, 2023

Conversation

Trevoke
Copy link
Owner

@Trevoke Trevoke commented Apr 3, 2023

(because I am not accountable to anyone but myself, unfortunately).

Keeping track of what's where in Github with this PR.

mbeutelspacher and others added 30 commits February 26, 2023 18:35
Run Hooks on elements of projects and in modify project
Functions org-gtd--ensure-{inbox,default,path} ensure that it exists,
and return the path. Functions org-gtd--{inbox,default}-file return a
buffer (semantically unchanged).
org-gtd-inbox-file is not a pure accessor anymore, but also creates and
initializes the file with org-gtd-inbox-template if necessary.
org-gtd-capture-templates now has the same structure as org-capture-templates
Seems like that quasiquote does the trick
It's just easier to package this up if the variables are with the code
most likely to call up those variables, my earlier organization was naive.
also remove the org-gtd-customize file
@alphapapa
Copy link

What are you dooooooing?! :D

@Trevoke Trevoke added bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request labels Apr 28, 2023
@Trevoke
Copy link
Owner Author

Trevoke commented Apr 28, 2023

@alphapapa Reworking this entirely from the ground up to be a better GUI-based app, and more respectful of the user's right to choose what they do and when with their editor.
The list of changes (which I must take a bunch of hours to write as proper documentation) is here https://github.com/Trevoke/org-gtd.el/pull/124/files#diff-19f042fa6643bdc7a792572d46d829e7843c7ea2950276092d78906b597563c6 .

Further, this is now significantly more customizable, and it provides a number of functions that will allow the user to create hooks for various actions they take within emacs and programmatically add tasks to their GTD files (e.g. sending an email could trigger a hook to automatically add a "in three days, have a reminder that you sent this email" show up.

I'm also a lot closer to actually extracting the actual meaningful core of the code (the processing loop) into its own separate package, for all the people who want to do their own - or already have their own thing - but want to benefit from the automation.

Finally, a good chunk of new features / organization / display in this PR is based on David Allen's original designs and ideas for a GTD app.

The relevant project is https://github.com/users/Trevoke/projects/1/views/4 and you can see there that the last significant undone tasks center around agenda views. I've kept this for last because it's still kind of a large undertaking for me to really understand and configure agenda views, and while I've made dynamic ones already ( https://github.com/Trevoke/org-gtd.el/pull/124/files#diff-67d245d07e2aa9cdd719fbc1861bad5f4251d591a9317a71d2ccacabfed6c9ffR57 ), it does also mean I created the following function:

(defun org-gtd--AND-skips (funcs)
  "Ensure none of the functions FUNCS want to skip the current entry."
  (let ((non-nil-funcs (seq-drop-while (lambda (x) (not (funcall x))) funcs)))
    (if non-nil-funcs
        (funcall (car non-nil-funcs)))))

Which you may recognize from the docstring as something applicable to org-agenda-skip-function.. And this function made me think about org-ql, which is the other huge reason why I kept the agenda views until last, I want to be able to focus exclusively on that and then see how much I can make the code more compact with org-ql.

I think that's a comprehensive high-level summary of the absurd amount of code in this PR. :)

@alphapapa
Copy link

Sounds great! I look forward to seeing the end result. :)

@Trevoke Trevoke marked this pull request as ready for review May 4, 2023 21:15
@Trevoke Trevoke merged commit 819489b into org-gtd-3 May 4, 2023
@Trevoke Trevoke deleted the more-flexible-organization branch May 4, 2023 21:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment