I was going to submit several MyDSL extensions I’d compiled for my personal use but decided against it because I’m not using Linux anymore. I mentioned one — calcurse.uci — in the forums and I submitted it yesterday as I said I would (it’s not yet posted as I write this).
calcurse is a curses-based calendar application that’s useful, very light, and fast — especially compared to other calendar applications (like Sunbird/Lightning). It’s usable, but it’s not perfect. In fact, one shortcoming is how it can crash very suddenly. It just doesn’t tolerate errors (hence the crashes). Crashes can be minimized or even avoided by paying attention to a few things.
First, when editing time-specific events and changing their times, don’t let the first new time overlap an old time. For example, if you move back an appointment, edit the new end time rather than the start time. And vice versa — if you edit something to move it forward, edit the start time before the end time. An even easier way to handle it, even though it’s not always convenient, is to simply delete the event and re-do it altogether.
Second, be wary of editing repeating events. I think I’ve had more errors with repeating events than anything else. I found my own way to handle repeating events by manually editing the calendar file itself.
Third, save frequently. I try to save every time I change something so I don’t lose anything. Saving isn’t difficult: just hit the s key and return. That’s hardly an inconvenience, especially compared to having to start over from scratch.
Fourth, it doesn’t import calendar file formats directly even though it can export ical-compatible files. After you’ve made a few entries, you can see what would need to be done to script changes necessary to import/export whatever format you want. I have a script that parses information from csv files (google calendar) so they can be merged with a calcurse calendar file. It’s on one of my backup CDs and I don’t have them with me right now. I’ll post the script when I find it.
Finally, calcurse’s operation is fairly straightforward. Toggle between panes with tab. The keystroke tips are provided on bottom like in the pico or nano editors. You can change settings so it doesn’t ask you to confirm quit, color, etc.