[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Agenda in the mode-line?

From: Nick Dokos
Subject: Re: [O] Agenda in the mode-line?
Date: Fri, 02 Aug 2013 13:07:06 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Kyle Sexton <address@hidden> writes:

> Bastien <address@hidden> writes:
>> Kyle Sexton <address@hidden> writes:
>>> Does anyone know if there is a feature to show something like 'Tasks: 4'
>>> on the mode-line for tasks that are currently open?
>> This is the default behavior since long: hitting "I" to clock in a
>> task in the agenda or C-c C-x C-i in an Org buffer will append the
>> task name to the modeline, together with the time spent.
>> Don't you have this?  Even with emacs -Q?
> Sorry, it appears I didn't make my use case very clear.  What you are
> speaking of is clocking into a task, and indeed that does show up on the
> modeline.
> What I am after is more of a overview of "How many total TODO tasks do I
> have", ideally with some function to limit or match based on tag.
> Something like this in the modeline:
> [Work: 3/10 Home: 2/20]
>                      ^--- Total number of TODOs in home.org
>                   ^------ Total number of TODOs due today in home.org
> That way I have a constant reminder of the number of things left without
> having to pull up the agenda.

I don't think the feature exists but it should be buildable - although I
think it is not exactly simple.

It should be easy to write a function that uses the org mapping API to
produce a string of the form "[Work: 3/10 Home: 2/20]" and assign it to
a variable, say mode-line-org-tasks. The variable can be added to

The problem is to force mode-line redisplay when things change,
e.g. when you mark a TODO task DONE, or add another task to work.org.
If the file gets modified, then filenotify.el can be used, but since the
agenda files are kept open, the buffer is modified but the file is not
(until the buffer is saved) and I'm not sure how to detect such changes
and propagate them to the mode line. I thought there must be a hook to
allow this, but I haven't found one yet.

The rather yucky alternative is to poll the relevant buffers (say once a
minute) to see if they are modified and if so, run the function to set
the variable and force mode-line redisplay. 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]