Tag Archives: calendar

citadel: So many things to explore

I am completely unfamiliar with citadel or its supporting community, but was told by a long-time reader of this site that it had a long list of console goodies tucked under one title.


This I find to be very true, although I suspect that my cursory efforts to get it up and running didn’t really expose me to more than a fraction of its potential.

citadel offers e-mail, messaging, calendar and other software bundled as part of a groupware project that has evolved through the 1980s and 1990s. This much I deduced from the descriptions on the Debian and AUR pages. If it looks like BBS interfaces from those decades, it did to me too.

I never connected citadel to a live system, so the image you see above is just looped back into my own address running the daemon in Mint (my Arch builds didn’t work). I did that partly because I am a shy and timid creature :\ , and I wanted a chance to explore without an information overload.

The downside of that being, as you can see above, there’s not much in the way of real data shown. I can navigate the “rooms” and “floors” of citadel and access a few of the features, but my safe little sandbox doesn’t do much in the way of real interaction.

I leave it to you to connect citadel and put it to real use; for what I see from elsewhere on the web, there are companies that use citadel or a variation thereof as a means of collaborating between developers in different geographic locations. So it may be that you use it already.

As a full-featured suite of tools all rooted in the console, I can only give a solid thumbs-up to citadel … even if my own experience was rather brief. 🙂

khal: A newcomer enters the ring

I’m always willing to try out a new calendar tool. khal caught my eye a day ago, and it has a lot of points that are worthy of mention.


khal itself is a command-line tool that can manage dates and events and times, but the real attraction for me comes with the bundled ikhal, which adds a multicolored fullscreen interface. And you know how I am about color. 🙄

Speaking directly to ikhal, you can navigate through the calendar structure with the arrow keys, and a day’s agenda will appear on the right part of the screen. Press enter to bounce to that list, press enter again to show details, and enter yet again to edit them.

You can add an event with the n key, delete one with the d key, and scroll through the day’s agenda with the arrows. Move back to the calendar panel with the left arrow, and back out of editing with escape.

I mention all these things mostly because I don’t see much documentation, onboard or otherwise, for specific keypresses while in ikhal; the help key doesn’t list much. Of course, I might have looked in the wrong place. Either way, I’m willing to forgive that since it seems khal on the whole is still in its early stages of development.

khal’s command-line mode is easy enough to decipher; the man page will have you started in a few minutes. Manage calendar events by concatenating commands, such as khal new blah blah blah, and the necessary syntax is fairly straightforward. At the time of this writing, if khal couldn’t understand what you wanted, you’d see a python error. I have a feeling some error trapping or syntax feedback is a good suggestion. 😐

So far, I can give khal and wholehearted thumbs-up. It scores big on use-of-space, use-of-color and easy navigation. I’m willing to give bonus points for the command-line interface too, and the straightforward syntax.

It will be interesting to see how it develops, and how well it can stand up to text-based calendar heavy-hitters like remind and wyrd or calcurse, or even when. Let’s finish this with a “to be continued.” … 😉

when: A sleeper hit for the median demographic

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.

For a long time I was a strong proponent of the one-two knockout punch of wyrd and remind. But short of complex and detailed minute-by-minute calendars, wyrd/remind is overkill.

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. :\

pcal: Nifty calendars, at a moment’s notice

It doesn’t take long for pcal to get the job done. Given the right options, pcal should have a calendar made for you in a matter of seconds.


Of course, with something as complex as pcal, getting the right options might be the tricky part.

The man page is really a man novel, and the help flags will take you a while to page through them.

On top of that, pcal offers a lot of custom configuration for things like national holidays, events and so forth. A lot of that is included in the original tarball, if it’s not bundled in your distro.

And if this looks familiar, it’s probably because there’s a similarity between this and ccal, from almost a year ago.

pcal is another one of those applications that’s pushing the envelope in terms of “console” or “text-based.”

Yes, you have to feed it the options you want, but with no interface and no interactive output, it’s just a fire-and-forget tool.

And of course, if you don’t like what you get from it, you tweak it and try again. So yes, it’s text-based. Just not very talkative, I guess. 😕

calcurse: Simple is best … usually

I mention calcurse today, knowing full well I am of two minds on it.


(Warning, another big gif.)

I used calcurse for more than a year and never felt shortchanged or underpowered.

However, I also left it for wyrd when I realized how much more detail and power I could get out of the remind substructure.

calcurse was a winner for me for a long time, just for its simplicity.

Controls are obvious, menus are terse but complete, and there is enough customization that you can make it feel like home.

But I’ve told you about remind and wyrd already, and as soon as you see — or need — the detail and precision that they offer, you’ll probably shift.

So basically, if your life is simple, you’ll like calcurse. The instant it gets complicated … hello, wyrd. 😐

clcal: Low-maintenance calendar display

I found clcal by accident the other day, while trying to track down something called lcal, which may or may not exist as an independent project.

clcal is different to me, in that it seems to be little more than a tool to prettify flat calendar event files.

I’ll show you this screenshot, then try to explain.


Seems that clcal is hard-wired to skim through a folder called .calendar, then through subfolders for years and months, then read text files named for days.

You can see that there, with the tree structure for the .calendar folder at the top of the screenshot. I made those files manually. clcal didn’t.

The results of clcal’s adventure are spat out on the screen, with formatting to keep days and events cleanly separated and highlighted.

This too you can see above.

But after that … I think that’s all clcal does. It has some fundamental range limiters, a search function and one or two other small frills.

Very basic, very clean. I like it.

I also like that it has potential. Keeping calendar events in text files means it may be possible to dump events from other utilities into nested folders, and rely on clcal to watch them.

pal comes to mind for that. As do a couple of graphical event managers.

It also means you’re not really limited to calendar events here. If you have other notes or reminders that lend themselves to simple text files, clcal might be good for displaying them.

And if you can’t stand captive applications that tie up your tty and prevent you from roaming free at the keyboard, this might be preferable too. 😐

gcal: More power to you

Calendar tools, calendar tools. Lots of those to tell about. Of course it all started with cal, a month or so ago.

Here’s a souped-up rendition of that, which goes by a clever name … gcal.


This is a GNU tool, so you’re getting something cleverly powerful and deceptively slim.

gcal by default will give you output that looks a lot like cal’s, but one quick look at its help flags tells you it does much more.

You know, I’d love to go into detail on this one, but I couldn’t do much better than the help manual.

The man pages are a big boost too, if it turns out you do need something with more power than the original cal.

ccal: A calendar with a different view

I mentioned quite a few calendar tools over the past month, some good and some bad.

It’s important to note though, that all of them work on the Gregorian calendar, and not everyone on the planet keeps time with that.

Here’s an alternative for the console, if you rely on the Chinese calendar: ccal.


Much of ccal will remind you of cal, which is probably the most basic of Linux calendars without dropping all the way back to the date command.

ccal doesn’t have the same controls or options though, so don’t charge in and assume you can just dump flags in ccal because they work in cal.

On the other hand, ccal has a nifty option or two — most notably to use Chinese characters in its output, and to send everything to PostScript format. Ergo …


Converted to PDF for display convenience. Rather nice, no? 🙂

etm: A calendar in two varieties

I like finding software that is maintained and actively pursued. Far too often I find a tool I like, check over its home page, and realize it last saw attention around the same time Zaire was a nation. 🙄

Not the case with etm. The “event and task manager” was getting updates within days of writing this page. And its Google Group seems likewise engaged.

Not enough to enthrall you? How about two different approaches to task and event management?


etm in two flavors, e.py and e.pyw, showing much the same information but with a different tack. For the visual learners in the crowd, a nifty diagram and calendar on the left, showing when and where and for how long.

And on the right, the information-oriented get the same rush, but in list form. And for people like me, who just like lots of colors. 😀

Speaking to the text-based interface, this uses a similar style to things like ikog.py or yagtd, with menu driven controls and event handling.

etm is sufficiently detailed that you should take time to read about the flags and switches that control displays and output.

Maybe this goes without saying, but I would assert that your satisfaction with etm — in either layout — will depend a lot on how much time you take to learn it.

That being said, this might be a practical calendar tool for you, if you need (or just prefer) something with two different faces on it. 😉

wyrd: Putting a face on remind

I have a little advice if you’re a budding programmer, and your goal is to come up with some sort of console-based scheduling tool: You’d better be serious.

Mostly because you’re already up against some incredible competition. I’ve mentioned an awful lot of task organizers over the past few months, but there’s one that always leaves me befuddled and awestruck: remind.


I don’t pretend to know everything about every little reminder tool out there, but just looking at the man page should give you an idea how complex and intricate remind is.

But I’ll be honest: Something this detailed is usually overkill for me. I’m not a corporate executive, I don’t have conflicting seminars to juggle, and I don’t manage a vast IT staff.

So all the scheduling formulas, nested reminders and so forth … much as I’d like to, I’ll just never get around to trying them.

On the other hand, wyrd takes all that and makes it manageable.


Quick keystrokes for adding timed and nonrepeating events, weekly and monthly overviews, event templates, vi-like navigation … the list goes on.

And really, aside from making the adding and management of events easier, wyrd just looks good.

It has a good default color scheme, a pleasant spatial arrangement, keeps a full calendar on-screen at all times, and can be stretched or pressed to almost any dimension in your terminal.

You do need a little proficiency with remind’s protocol, but it is very intuitive, and for most commonplace scheduling events, it is quite obvious. You can do the basics without even trying.

These two programs by themselves are winners; as a team they’re probably the pinnacle of calendar control at the text-only level. Getting to know them is highly recommended.