I wasn’t really enthused about when when I first looked into it. I’ve seen a lot of calendar tools and a lot more to-do list managers, and I didn’t see a whole lot that stood out at first glance.
And actually, maybe that’s good. A program that has quite a few strong points but is easily overlooked doesn’t create nearly the empty-headed flap as a shallow program with lots of fanboys. And yes, betty, I’m looking at you. 😡
I don’t mean that I wish obscurity on when, only that it deserves to be digested at a decent pace.
when makes a nicely formatted list out of a very simple arrangement. Follow the brief setup scheme, and from then on every instance of
when e puts you in your $EDITOR. The data arrangement is very easy to follow: Just separate the date from the note with a couple of spaces and a comma.
Leave your editor, and every time you enter
when, you’ll get a list of upcoming events. Simple.
But when can handle some fundamental date tests, and this is where when really kicks it into gear.
when can sift out specific dates annually, so regular holidays, like Christmas or Valentine’s Day are easy to add. when can also filter for observed events too — so holidays or events that fall on a weekend can appear on regular weekdays. Now you can handle the complexity of scheduling Golden Week.
Arranging simple date tests is a breeze too, and you can pluck out the traditional Father’s Day — as the third Sunday in June — with no more than
m=jun & w=sun & a=3. And believe it or not, when has provisions for dates that precede the end of the month too, and the man page claims it can handle things like moveable feasts. That’s impressive.
On the other hand, calcurse does a decent job handling very simple calendar requirements, and its visual arrangement is a great asset.
If I had to, I’d put when somewhere in between those two poles, and possibly even closer to the high-end wyrd/remind combination. I’m confident it can do some of the more challenging schedules that I would otherwise relegate to wyrd/remind, and it might even do them more quickly and gracefully.
A small warning: I noticed that some more complex and lengthy calendar lists cause a slight pause when displaying. It should probably go without saying that complex tests and date calculations will take a while to display. If you’re on very old hardware, that might trigger a lag.
Then again, if you have long, complicated scheduling requirements, you might be better off devoting a little more power to it than just your old leftover K6-2.