ichernyshovvv / org-timeblock

Schedule your day visually, using timeblocking technique inside Emacs
GNU General Public License v3.0
275 stars 18 forks source link
calendar emacs orgmode timeblocking

+html:

+html:

org-timeblock

+html:

Emacs package that provides interactive multiple-day timeblock

+html: view for orgmode tasks.

org-timeblock-mode buffer:

[[file:screenshots/org-timeblock-mode.png]]

You can press ~[T]~ to toggle the display of org-timeblock-list-mode buffer. Foreground colors for timeblocks are generated randomly, but you can assign specific background and foreground colors in customizable variable ~org-timeblock-tag-colors~:

[[file:screenshots/org-timeblock-with-list-mode.png]]

You can switch to a multi-day view using ~org-timeblock-change-span [V]~:

[[file:screenshots/multi-day-view.png]]

[[https://youtu.be/lVV9gVp5nxU]]

The builtin orgmode package for collecting and displaying open tasks/events/deadlines relevant for a particular set of dates, org-agenda, does not have a timeblock representation which is available in almost all modern calendars.

Sometimes, a list representation (like in org-agenda) is not sufficient, because it can be difficult to quickly get an overview of a day or week schedule.

Requirements:

** MELPA

You can install the package from MELPA using ~M-x package-install org-timeblock~

** package-vc-install (Emacs 29)

If you use Emacs 29, you can install the package via

~M-x package-vc-install RET https://github.com/ichernyshovvv/org-timeblock/ RET~

** Guix

If you use Guix, you can install the package from the official Guix channel.

** Quelpa

  1. Install ~quelpa-use-package~ (which can be installed directly from MELPA).
  2. Add this form to your init file:

+begin_src elisp

(use-package org-timeblock :quelpa (org-timeblock :fetcher github :repo "ichernyshovvv/org-timeblock"))

+end_src

** Straight

Add this form to your init file:

+begin_src elisp

(use-package org-timeblock :straight (org-timeblock :type git :host github :repo "ichernyshovvv/org-timeblock"))

+end_src

There are two major modes provided by the package:

Run ~M-x org-timeblock~ to open 3-day view that starts from today's date. The default days span can be customized via ~org-timeblock-span~ variable. In the view you will see only entries that have time specified in their timestamps. To see other found tasks/events (entries that have timestamps without time), press ~T~ (M-x org-timeblock-toggle-timeblock-list).

Tasks and events are searched in ~org-timeblock-files~ which defaults to ~(org-agenda-files)~.

To navigate between the blocks, use ~[fbpn]~, arrow keys or mouse (yes, the blocks are clickable).

To open other dates, you can run the following the following commands:

To reschedule or change the duration of the task bound to the selected block, use these commands:

Also, you can mark the blocks and operate on them via ~M-x org-timeblock-schedule [s]~:

If you want to add a new task, press ~+~ (M-x org-timeblock-new-task).

Almost all commands with the same bindings are available in ~org-timeblock-list~.

~M-x customize-group org-timeblock~ to see available customizable variables.

  • Changelog :PROPERTIES: :CUSTOM_ID: changelog :END:

  • 0.1 First tagged release. 0.2