Emacs package that provides interactive multiple-day timeblock
Contents
[[#screenshots][Screenshots]]
[[#screencast][Screencast]]
[[#why][Why I wrote this package]]
[[#installation][Installation]]
[[#usage][Usage]]
[[#customization][Customization]]
[[#todos][TODOs]]
[[#donations][Donations]]
[[#changelog][Changelog]]
Screenshots :PROPERTIES: :CUSTOM_ID: screenshots :END:
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
(use-package org-timeblock :quelpa (org-timeblock :fetcher github :repo "ichernyshovvv/org-timeblock"))
** Straight
Add this form to your init file:
(use-package org-timeblock :straight (org-timeblock :type git :host github :repo "ichernyshovvv/org-timeblock"))
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.
TODOs :PROPERTIES: :CUSTOM_ID: todos :END:
[ ] Implement caching mechanism for SVG data
[ ] Improve timeblocks layout algorithm
[ ] Split each column into a separate SVG image to improve the speed of ~org-timeblock~ buffer redisplay
[ ] Create timeblock.el library that could be used for iCalendar and other time data
Donations :PROPERTIES: :CUSTOM_ID: donations :END:
~444GDw7rkd3Mj5hi6ZzEXZ4QN565TFw4J5ithFcywsMnJn7dFsxWTEQ4vtSMQC1sckFBu7neS8yZZRLnY8EYpS4UNMEAvpL~
Changelog :PROPERTIES: :CUSTOM_ID: changelog :END:
0.1 First tagged release. 0.2