NotePlan / NotePlan/plugins

AutoTimeBlocking feature request: Add user preference to indicate which calendars to reference when running /atb

Open
#345 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
204
Forks
82
Avg merge
22h 27m
Merged PRs (30d)
3

Description

First, thank you for the AutoTimeBlocking plugin, @dwertheimer! I have just been testing it, and this is wonderful.

Is your feature request related to a problem? Please describe.

I have many "calendars" in my Calendar.app, mostly hosted and synced via iCloud, but some through other providers as well.

When I run /atb the time blocking algorithm appears to consider the content of all calendars. So, for example, if I have a shared "Family" calendar that includes things like "Kids at school from 8am to 3pm" then the /atb command thinks I am not available to start fielding tasks until 3pm, so the first time block will be placed at 3pm. This limits the usefulness of the AutoTimeBlocking plugin for me, since most days will already appear to be "fully booked", since all calendars are considered.

First, is my understanding of the logic here correct?

Second, currently, are all user calendars considered? (e.g. iCloud but also from other accounts?)

If my understanding is correct so far, then I'd request…

Describe the solution you'd like

I would love to see a user preference for specifying which calendars to consider/include when running /atb and determining availability for placing time blocks. This could be in the Preferences pane, ideally some sort of checklist where the user could tick off which calendars should be included, e.g.:

  • Personal
  • Work
  • Family

Describe alternatives you've considered

Alternatively, it may be simpler to implement a text input box to indicate calendar names, e.g.:

Names of calendars to consider when scheduling time blocks (case-sensitive, comma separated)
Personal, Work

This is more flexible, but would require users to key in the calendar names precisely.

Another option could be to implement this as calendars to be excluded — i.e. as an ignorelist:

Names of calendars to ignore when scheduling time blocks (case-sensitive, comma separated)
Family

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the /atb command and the AutoTimeBlocking calendar-availability logic, then inspect how the Preferences pane stores user settings. Confirm whether all calendars are currently included and choose an include or ignore preference approach. Done means the preference can be configured and /atb schedules blocks using only the selected calendars.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
desktop
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.