Sunbeam

Sunbeam is a calendar, written in C99. It is one of the two capital applications that ship beside the desk. The other is CyThrough. Sunbeam is not part of the Blueprint tree. It has its own repository. The window is libcyui, the same widgets the desk uses, and Xlib is kept for the calendar grid, the throbber, the clock, the watermark, and the notifiers.

It is the old Mozilla Sunbird calendar, brought back as a real program. It also runs on a Motif machine that is not running Cyanotype. Under the desk it follows the live color scheme. On its own it uses Icy Blue Mountains. The small dependencies are libical (the iCalendar library), libcurl, and libxml2, plus the Cyanotype libraries.

You look at the same calendar as a month, a week, a day, a year, or a list. A timed event occupies the hours it actually covers. When two of them overlap, they sit side by side in lanes. The day view draws a line at the current time. All-day events stay in a band of their own across the top. The status line on these pictures shows two calendars on one account.

Accounts are CalDAV only, which means the calendar lives on a server and Sunbeam does not invent a second store. Nextcloud, Radicale, Fastmail, CommuniGate, and DAViCal are the servers it speaks to. You can keep more than one account. Tasks live in the account as VTODO entries, the to-do items in the same calendar format. You can make a calendar on the server, rename it, and remove it. Sync uses the server's collection tag, a token that changes when the calendar changes, so a quiet calendar is not downloaded again in full.

A new event has a summary, a place, categories, a priority, and a description. Show-as, the field that says how the time should look to other people, is busy, free, tentative, out of office, or private, and there is an all-day checkbox. Attendees are people. A room or a piece of equipment goes in Resources, which is how the server tells a human from a thing. Directory looks up names. Find Free Time asks who is open. Invitations go out as iMIP, a calendar invitation your mailer can send as an attachment. Free and busy works in both directions. You can publish yours, and you can watch someone else's. An attachment opens with the handler the desk already has for that type of file. Copy, cut, and paste of an event work across servers. Backup, restore, and a move from one server to another are ordinary .ics files.

sunbeam-remind is the reminder. It sits in CyChest, or in any freedesktop tray, as an XEmbed client. XEmbed is the protocol a tray icon uses so it can live inside another program's window. With no tray manager it falls back to a dockapp, a small window parked in a dock. sunbeam-cli is the same calendar with no window, for scripts and for anything that should not link the GUI.

The tree builds on Linux, AIX, IRIX, Solaris 8, NetBSD, FreeBSD, and OpenBSD. The license is BSD.

The month view. Each color is one calendar. The day you are on is the outlined box, and the status line shows two calendars on one account.

The week view. Timed events take the hours they actually cover. All-day events stay in the band across the top, and the line on Saturday is the current time.

The day view. The hours run down the side, and the line across them is the current time.

A new event. You can add attendees, a resource, a directory lookup, and Find Free Time. Show-as is busy, free, tentative, out of office, or private.

See also: Capital Applications, CyThrough

Cyanotype Project. Blueprint Desktop. BSD 2-clause. Not affiliated with Silicon Graphics. SGI, IRIX, and Indigo Magic belong to their owners. 1.0 is aimed at 31 October 2026.