Previous: planner-registry, Up: Task Reports and Overviews


6.4 planner-zoom

When assessing where you stand in relation to the tasks you have set out for yourself, you might want a way to survey those tasks in groups divided by time periods, like by the week or by the month. You could create all of these overview pages by hand, but if you like to have this kind of overview frequently, you might find manually creating such pages to be tedious and time consuming.

planner-zoom is an optional module designed to make it easy to view your task information grouped by year, quarter, month, week or day.

To install this module, just load it in your .emacs (or _emacs):

     (require 'planner-zoom)

This module will recognize planner pages named according to the following scheme:

year view
2006.Year
quarter view
2006.Quarter2
month view
2006.January
week view
2006.January.Week3
day view
2006.01.02

Keybindings

This module also adds key bindings that you can use when looking at a Planner page to easily jump between the different time-period views.

S-up
Move to the view corresponding to the time period one step larger than the current one. For example, it moves from the weekly view to the monthly view. It calls planner-zoom-iup.
S-down
Move to the view corresponding to the time period one step smaller than the current one. For example, it moves from the weekly view to the daily view. It calls planner-zoom-idown.
S-left
Stay in the same time-period view as the current one, but move one interval earlier. For example, it moves from 2006.January.Week3 to 2006.January.Week2. It calls planner-zoom-iprev.
S-right
Stay in the same time-period view as the current one, but move one interval later. For example, it moves from 2006.January.Week3 to 2006.January.Week4. It calls planner-zoom-inext.

Example usage

Look at the page named 2006.January and then hit S-down which will show 2006.January.Week1. Then hit S-left and S-right to look at 2006.January.Week2, 2006.January.Week3, etc.

Advanced tips and options

You can use any prefix argument with planner-zoom-iup and planner-zoom-idown to have the new view display in a window other than the current one. This also works with a nonnumeric prefix argument and planner-zoom-inext or planner-zoom-iprev. For these two functions, a numeric prefix will specify the number of intervals to move.

If you don't like the default patterns for naming the time-period view pages, you can change them by customizing planner-zoom-regexps.

Some people believe weeks start with Sunday, and some believe they start with Monday. To accommodate both of these colliding worldviews, planner-zoom-first-day-of-week can be customized. Its default value is ‘1’, which is Monday. If you would prefer Sunday, change it to ‘0’. The month to which a week belongs is the month in which the first day of the week falls.

Command reference

— Function: planner-zoom-iup name other-window

Move to the next higher level in the hierarchy. With a prefix argument, show the desired page in the other window.

— Function: planner-zoom-idown name other-window

Move to the next lower level in the hierarchy. If the current date is within the higher-level time range, zoom to the lower level time range that also contains today. Otherwise, just go to the first lower-level time range. With a prefix argument, show the desired page in the other window.

— Function: panner-zoom-inext name num other-window

Move to the next time range at the same level in the hierarchy. With a numeric prefix argument, move by that number of time ranges. With a non-numeric prefix argument, show the desired page in the other window.

— Function: planner-zoom-iprev name num other-window

Move to the previous time range at the same level in the hierarchy. With a numeric prefix argument, move by that number of time ranges. With a non-numeric prefix argument, show the desired page in the other window.