This wiki will shut down!

Please note that this wiki will be made read-only and eventually be taken offline.

A replacement is being discussed at We'd be happy to have more input for that discussion and volunteers who help us migrate the content of this wiki to its replacement.

Orglendar widget

From awesome
Jump to: navigation, search


Comprehensive example of org-mode file...
...And this is how this file is shown by widget

The original idea of this widget was to mix Calendar_widget with this great org-mode widget. So the orglendar was born.


  • shows on-demand calendar with marked schedules and deadlines
  • shows schedules and deadlines ordered by date
  • supports multiple org-files


Widget parses specified files searching for SCHEDULE: and DEADLINE: tags. When the widget finds them it shows the respective org-mode entries.

When the widget finds in the entry line tags like TODO, DONE or any other all-capital tag at the beginning of the line, this tag is cut. If the entry line contains keyword tags (e.g. :job:project:) these tags are aligned properly on the right side. If two events happen on the same date, they are grouped together. All days with events on them are marked red on the calendar.

How to install[edit]

  • If you use Awesome v.3.4.x then download the file orglendar.lua from here. If you are a git/master Awesome user then get this one
  • Put the file into your /home/username/.config/awesome/ folder.
  • Open your rc.lua file. If you are new to awesome scripting and your config is still pretty untouched, then find this (or similar) line:
 mytextclock = awful.widget.textclock({ align = "right" })

and add these lines just after it

 local orglendar = require('orglendar')
 orglendar.files = { "/home/username/Documents/Notes/",    -- Specify here all files you want to be parsed, separated by comma.
                     "/home/username/Documents/stuff/" }
  • If you cannot find anything like mytextclock in your rc.lua, then you probably changed this textclock widget by something else. This means you are advanced enough to find another widget to bind calendar to. In this case only the last line will change:
 orglendar.files = { "/home/username/Documents/Notes/",    -- Specify here all files you want to be parsed, separated by comma.
                     "/home/username/Documents/stuff/" }
  • Now just hover your mouse over the clock widget and enjoy!

How to use[edit]

  • To make the calendar and to-do list appear, move your mouse cursor onto the widget.
  • To remove the calendar and list just move your mouse outside the widget.
  • You can scroll your mouse wheel back and forth (while cursor is still on the widget) to switch months on the calendar.