Skip to content
This repository has been archived by the owner on Oct 26, 2020. It is now read-only.
/ org-treescope.el Public archive

Provides a time and priority based sparse tree interaction mode

License

Notifications You must be signed in to change notification settings

mtekman/org-treescope.el

Repository files navigation

org-treescope.el

This repo has migrated to GitLab

https://gitlab.com/mtekman/org-treescope.el

(The copy here is archived. Please see the above link for the latest developments)

Many people place the power of org-mode into the reports provided by org-agenda, which filters and summarizes org entries by tags, todo states, priorities and tags.

I don’t do that. My mind is simple. I like trees. Trees are easy. You have one org mode file and you filter it for what you need, whether it’s a quick glance at what you did last week or a peek at what you’re currently working on. This package provides an interactive filter window using the excellent org-ql library as well as the calendar window from calendar.el to help with defining the scope of the filtering query.

Installation

(use-package org-treescope
  :custom
  (org-treescope-cyclestates-todo '(nil ("TODO") ("WAITING" "DONE")))
  (org-treescope-cyclestates-priority '(nil ("A" "B" "C") ("D")))
  :bind
  (("C-c M-t" . org-treescope)))

Usage

Once org-treescope is run, a minor mode is launched with the following controls which are designed to not interfere with calendar-mode.

Time Range Shift

BindingAction
left/rightShift current range one day backward / forward
up/downShift current range one week backward / forward
C-left/rightMove lowerbound of range one day backward / forward
M-left/rightMove upperbound of range one day backward / forward

Time Range Flank

BindingAction
C-M-left/rightShow all dates before/after centre date
C-M-downReset to range in previous section

Cycling States

BindingAction
C-up/downCycle through user-defined groups of TODO states
M-up/downCycle through user-defined groups of PRIORITY ranges
tCycle through time modes TIMESTAMP, SCHEDULED, DEADLINE, CLOSED

Customisation

The user should check that the below scope types are set to reasonable ranges for that file.

Scope Types

Currently supported types are TODO groups, PRIORITY ranges, and TIMESTAMP types. Currently these are set to:

Main Customisable VariablesCurrent SettingInfo
org-treescope-cyclestates-todoDONE, TODO DOING, TODO DONE WAITINGAny number of elements in a group
org-treescope-cyclestates-priorityA, A C, DAny number of elements in a group
org-treescope-cyclestates-timets, scheduled, deadline, closedOther predicates can be added

These can be customised to specify different groups/pairs that might be more useful to the user.

Faces

The faces used within the calendar can also be customised, and the user should see the defface definitions used in the source.

VariableInfo
org-treescope-faces-rangeThe face used to specify all dates within the range except the centre midpoint date.
org-treescope-faces-middayThe face used only by the centre midpoint date.

About

Provides a time and priority based sparse tree interaction mode

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages