Categories: geek » emacs » planner

RSS - Atom - Subscribe via email

Automatically scheduling tasks onto TaskPool

| emacs, planner
(defadvice planner-create-task-from-buffer (before paul activate)
  "Automatically schedule task onto TaskPool as well as other projects."
  (if plan-page
      (unless (string-match plan-page "TaskPool")
        (setq plan-page (concat plan-page planner-multi-separator "TaskPool")))
    (setq plan-page "TaskPool")))

Here’s another snippet that will unschedule tasks from TaskPool when
you mark them completed with C-c C-x (planner-task-done). Nifty stuff,

(defadvice planner-task-done (after paul activate)
  "Remove completed tasks from the TaskPool if that still leaves them linked."
  (let ((info (planner-current-task-info)))
    (when (planner-task-link-text info)
      ;; If it is linked to TaskPool _and_ at least one other thing
      (if (string-match planner-multi-separator (planner-task-link-text info))
           (planner-multi-make-link (planner-multi-filter-links "^TaskPool$" (planner-multi-task-link-as-list info) t)))
        ;; Else if it has a date and is linked to TaskPool
        (if (and (planner-task-date info)
                 (string= (planner-task-link info) "TaskPool"))
            (planner-replan-task nil))))))
View or add comments

Adding an arbitrary extension to your planner files

Posted: - Modified: | emacs, planner

Do you want all of your planner files to have a TXT extension so that
they’ll be searched by tools such as Google Desktop or Apple Spotlight?

Use the ‘rename’ tool to add .txt extensions to all of your files, or
use the following code to rename all of your planner files from a
running Planner setup:

(defun my-rename-planner-files ()
  "Rename all my planner files to .txt if they don't have that extension yet."
   (lambda (file)
     (unless (string-match "\\.txt$" (cdr file))
       (rename-file (cdr file) (concat (cdr file) ".txt"))
       (message "%s" (cdr file))))

Then add this to your ~/.emacs before you load Planner:

(setq emacs-wiki-ignored-extensions-regexp "\\.txt")

(defadvice emacs-wiki-find-file (around extension activate)
  "Open the Emacs Wiki page WIKI by name.
If COMMAND is non-nil, it is the function used to visit the file.
If DIRECTORY is non-nil, it is the directory in which the Wiki
page will be created if it does not already exist."
  (unless (interactive-p)
    (setq wiki (cons wiki
                     (cdr (assoc wiki (emacs-wiki-file-alist))))))
  ;; At this point, `wiki' is (GIVEN-PAGE FOUND-FILE).
  (if (cdr wiki)
      (let ((buffer (funcall (or command 'find-file) (cdr wiki))))
        (if (= (prefix-numeric-value current-prefix-arg) 16)
            (with-current-buffer buffer
              (set (make-variable-buffer-local 'emacs-wiki-directories)
                   (cons (file-name-directory (cdr wiki))
              (set (make-variable-buffer-local 'emacs-wiki-file-alist)
    (let* ((dirname (or directory
                        (emacs-wiki-maybe t)
                        (car emacs-wiki-directories)))
           (filename (expand-file-name (car wiki) dirname)))
      (unless (file-exists-p dirname)
        (make-directory dirname t))
      (funcall (or command 'find-file) (concat filename ".txt")))))
View or add comments

People with a passion…

Posted: - Modified: | emacs, passion, planner

According to Kathy Sierra at Creating Passionate Users (another must-read blog), this is what passion looks like:


I want to make Planner users more than just “satisfied and happy.” I
want them to get an “I totally rock!” experience every time they start up
their Emacs, and I want them to do that every day. How can I help Planner users become even more passionate about planning and life?

Connect Our mailing list at ( is our greatest resource. =) If you prefer to use Gmane (a mailing list->NNTP/blog gateway), check out . I plug it shamelessly in the tutorial so that newbies discover what a wonderful resource it is. I should cross-post interesting Planner-related entries to the mailing list for further discussion. I should also review the archives and help people find other people who plan the way they do.
Evangelize I love it when people find Planner so cool, they can’t wait to tell other people about it. =) Emacs is difficult to sell because it seems intimidatingly complex, but if I make the tutorials easier, Planner users will have an easier time getting their friends to understand why they really like Planner.
Spend $$ Although people don’t pay anything for Planner itself, they spend _time_ trying it out and learning how to do new things. I feel responsible to people for the time they put into it, and I want them to get as much value as possible.
Spend Time Thinking too much about planning leaves you with less time for doing things. With the Planner community regularly contributing fantastic ideas you can just copy into your planner config, you can constantly improve your planning without spending too much time tweaking the code.
Show off We get that kind of enriching discussion because we have a culture of showing off our improvements, even small ones. I love hearing stories about how people use Planner and how they fit it to their way of working.
Improve You can use Planner as a basic personal information manager, but because there’s so many features you can draw on and because you can tweak it as much as you want, Planner grows with you as you improve the way you plan.
Learn … and modifying Planner not only teaches you more about Lisp programming but also helps you reflect on how you plan!

Try out Planner today!

View or add comments

planner.el goodness

| emacs, goodkarma, planner

<comfrey_> i spent most of this past weekend reading the elisp manual because planner.el is sucking me in

Awwwwwwwwwwwwwwwwwwwwwwwwwwww… =)

View or add comments


| emacs, planner

Announcing planner-el-3.29, available at and deb . =)

Summary Synchronize with sacha AT—main/planner—dev—1.0—patch-380
Revision planner—stable—1.0—patch-116

  • dev/369: planner-annotation-symbol-string
  • dev/369: planner-create-task-from-note
  • dev/370: planner-timewarp
  • dev/371: planner-annotation-from-dired
  • dev/372: planner-psvn for version control

dryice/33-38, dev/365-379, jeho/50-60, johnsu01/0-3


  • dev/366: planner-multi read-only prompt, sort-task excursions, planner-appt advice
  • dev/367: Always add menu to planner-mode buffers
  • dev/368: planner-multi-read-name bugfix from jeho
  • dev/369: planner-timeclock-summary-proj bugfix
  • dev/370: Group .-? regexp to deal with possible XEmacs bug
  • dev/372: planner-vm-browse-url and message IDs
  • dev/376: planner-id bugfixes with completed/cancelled tasks
  • dev/377: planner-gnus: pick up group name properly
  • dev/380: planner-multi replace mapc with mapcar for emacs20

  • dev/365: Update my sample configuration file
  • dev/374: New URL for remind
  • dev/375: Carrying over unfinished tasks
  • dev/379: Document planner-trunk

E-Mail to emacs-wiki-discuss

View or add comments

On organization

| emacs, organization, planner

joroxx said:

oh man, how do you keep a life so organized? ya know i
love emacs and lisp but i’m bogging down on planner. :-(

i guess i like spontainity and surprises! :-)

Some people look at my website and think I’m organized. I have no idea
what gives them that impression. Maybe it’s the color-coded task list.
Yes, yes, that must be it.

Regular readers will notice, however, that I procrastinate as much as
anyone else. Just check my website tomorrow and see which tasks still
aren’t done. ;) In fact, if you look at the linked pages, you’ll find
lots of tasks I haven’t even scheduled.

I guess I procrastinate in an organized manner. ;) Planner lets me do
that. It doesn’t guilt-trip me into productivity or nag me to do
things. Rather, it helps me keep track of the things I’d like to
eventually get around to doing, and it occasionally reminds me that I
should do some of those things soon.

Planner makes working fun. I love seeing crossed-off tasks on my
Planner. When I break things down into tiny little pieces and cross
them off my list, it feels good. On the other hand, if I don’t manage
to cross off anything on my list, that means I had either made
progress on at least one task or had fun doing something unexpected. <grin>

I love surprises, too. Today I had lunch with Clair and Madj at
Greenbelt. Totally unplanned—actually, I was just planning to sleep
in—but totally, totally fun. Then my mom and I went to a wedding in
Alabang, and that was surprisingly wonderful and sweet… =)

E-Mail from Richi’s server

View or add comments

Paul Lussier on possible Planner Linux Journal article

| emacs, planner, writing

I just started getting you blog via rss yesterday, and just read the
discussion you had over writing an article on planner. I just wanted
to say that I think that is an AWESOME idea.

As Travis mentioned in the discussion, I too, have become totally
adicted to using planner (which, ironically, helps me procrasinate
from doing the stuff I need to, but “planning” it :)

There were a couple of points you mentioned that I’d like to touch on,
and share my experiences with emacs-wiki, planner, the community, etc.
Perhaps it’s something you can use in your articles, perhaps not, but
I’d like to share it with you nonetheless :)

   We're sitting on something cool here. We're sitting on a
           software project crazy enough to interest people who
           ordinarily wouldn't consider Emacs.

I think this is a fantastic observation. My own experience isn’t too
far off. I started using emacs over 10 years ago. But it was “just a
powerful editor”. I used it for the obvious things writing perl/shell
code because I just liked the font-lock colors. And I used it for
somewhat less obvious things like the column/rectangle manipulation
which comes in *real* handy for dealing with things like large
/etc/hosts or DNS zone tables which are all column oriented data. I
had hacked a few functions of things I found useful, but maintained a
rather small .emacs file.

About a year ago, my manager was gone for 6 weeks (boy was that nice
:) She and I didnt’ get along overly well, but the guy who stood in
for her I got along with quite well. He happened to be a project
manager, who has had MS Project surgically implanted :) I needed
something I could keep track of things with. I found etask, but then
saw emacs-wiki and planner. This seemed a more natural way of planning.

As I started in using planner and emacs-wiki, I very quickly became
addicted. This was almost literally, an overnight conversion of my
life. I no sooner started using emacs-wiki/planner, than I found
myself using erc. Reading johnw’s README for planner led me to his
site, where I discovered ledger (John’s unbelievably powerful
financial app.) and eshell. Then came (in no specific order) w3m,
muse, remember, bbdb, and last, but not least, gnus. The last three
are significant. I had been mostly happy with my prior e-mail
environment of an mh-backend based e-mail solution for the better part
of a decade. But there was no way I could hook that in to planner,
and after a several months of resistance, I attempted the switch to
mh-e which, as you may remember, didn’t go so well :) So, now I’m on
gnus, and almost every facet of my life is now hooked into emacs.
I’ve learned more about emacs and lisp in the past year than I have in
the past 10 years.

A more profound observation is this:

   Heck, we're even getting non-programmers into Lisp.

I wouldn’t consider myself a non-programmer, but I’m not a programmer
either. I’ve got a degree in CS, and know my way around C a little
bit, but my strengths, as a sysadmin, are really in perl. I love
perl, think in perl, and can solve almost all my problems in perl.
All except the hacks I want added into planner :) As a result of
planner though, I’ve felt very much at a loss. The ability to
contribute is so obviously there and within my reach, but the
capability not so much. I can plainly see that if I could think in
lisp, I could contribute to planner, but the stumbling block is my
thought process, which is wired to think in perl. As a result,
planner has inspired me to begin learning lisp, merely to be able to
help myself, and others through what contributions to planner I may
someday come up with. I learned perl out of necessity because it was
better for the job I needed to do at the time. I’m learning lisp out
of love of an application written in it, and a desire to help make it
better :)

Then there’s this:

   - We don't hide the Lisp code. It's there. Newbies get
           exposed to it. The way we deal with it, though, is by asking
           people to describe--in English--what they want to do--their
           dream PIM--and more experienced people would give them
           snippets of code and tips for making it happen.

This has been instrumental for me. To be able say “when I do X, I
want Y to happen”, and have that feature within minutes (or seconds!)
available to me is astounding. The hack you presented for getting
remember to know when it was on a task and create a related note,
while I don’t understand it yet, works superbly! That I could ask for
that feature, and you could provide it is both a testament to how easy
it is to extend planner and to how welcoming the community is of
requests and features that may not be immediately useful to anyne else
but the requestor (err, have I mentioned how much hippie-expand ROCKS
lately ;)

   Yes.  But was this growth conscious?

This is a great question. And I think the answer is twofold. Did
johnw intend to create such a vibrant community around planner? No, I
don’t think so. He was scratching a personal itch. Did you
intend/expect this to explode the way it has, or did you plan it? I
don’t think so. In retrospect though, I think we could say that it
was inevitable given your personality, love of people, and desire to
help/teach others. Those who actively reach out, soon find themselves
surrounded by others of like quality. Once you realized there was a
community growing though, I think it became very much a conscious
thought as to how to grow the community, and how to get planner to fit
as many people’s habits as possible. The open acceptance of hacking
the code to custom fit anyone who happened to be interested is the
obvious way to do that. Planner’s design which allows people to
choose from a menu of features, and to start out extremely simple and
build up slowly is also very much a factor in why the community has
evolved the way it has.

Planner seems to have created friendships and acquaintances across a
diverse set of individuals. Some of us are #emacs, some are on the
mailing list, and some are on both. A few of us see each other in
other IRC channels as well (of course, the common link is johnw, which
is why I think we should really create #johnw :) Regardless, planner
has definitely had quite an impact on a lot of people, and I don’t see
that ending any time soon!

I guess that’s it. I’m beginning to ramble now :) I just wanted to
share that with you, and wish you luck on the forthcoming articles for
LJ. I’ll certainly be eagerly awaiting those issues!

Oh, and if there’s any help I can provide for the articles, I’d be
happy to assist.

E-Mail from Paul Lussier

View or add comments