Hyperscheduling is the idea of fully planning your day using a calendar. Every minute of the day is assigned to some task using a calendar.
org-hyperscheduler presents a web UI that allows agenda entries to be visualized and moved around easily.
Here’s a typical agenda (C-c a a
):
and here is how it’s visualized in org-hyperscheduler:
- blue entries are coming from an external calendar (such as org-gcal).
- purple entries are part of standard org-agenda.
The user is free to modify entries or move them around provided org-hyperschedule-readonly-mode
is disabled.
When planning a day, it’s easy to start with a list of tasks:
and then visualize them to ensure that capacity is available:
Real quick demo of what the package does:
org-hyperschedule is not currently available in MELPA. Once the package matures, it will be added.
For now you can either download the source and install it manually or with use-package
and straight.el:
(use-package org-hyperscheduler
:straight
( :repo "dmitrym0/org-hyperscheduler"
:host github
:type git
:files ("*")))
You can also use quelpa and install with the snippet below:
(package-install 'quelpa-use-package)
(require 'quelpa-use-package)
(use-package org-hyperscheduler
:quelpa (org-hyperscheduler :fetcher github :repo "dmitrym0/org-hyperscheduler"))
You can then invoke M-x org-hyperscheduler-open
to invoke the web view.
Use M-x customize-group org-hyperscheduler
to configure this module.
org-hyperscheduler is able to update entries in Emacs when using the web UI. To suppor this functionality, org-hyperscheduler must create IDs for each scheduled entry. If you are not ok with org-hyperscheduler modifying your data, keep org-hyperscheduler-readonly-mode
turned on. In this mode you can visualize your agenda, but cannot make any changes in web UI.
org-roam treats all entries with an :ID:
property as roam nodes. This is not what I wanted. org-roam excludes all entries with the G
See org-hyperscheduler-exclude-from-org-roam
through M-x customize-group org-hyperscheduler
or
(setq org-hyperscheduler-exclude-from-org-roam t)
**Note**: Read only mode must be disabled for this to take effect.
- Install cask (
brew install cask
). - Run
cask
to install dependencies. - Run
cask exec buttercup -L .
org-hyperscheduler was heavily inspired by org-roam-ui. If you’re using org-roam it’s worth adding org-roam-ui.
calfw is a (textmode) calendaring framwork for emacs. I found it somewhat late into the development of org-hyperscheduler. If I found it earlier, I may have skipepd developing this.