Calendar (Lightning and Sunbird) FAQ

This article is no longer maintained, so its content might be out of date.

Please note that Sunbird is no longer maintained. But since there are lots of people that are still using it, the help sections have still been included in this article.


What's the difference between Sunbird and Lightning?

Sunbird is our standalone calendar application. It doesn't need another client application to run at the cost of a larger download and higher memory requirements. Because of its standalone nature, Sunbird does not offer any kind of tight integration with an e-mail application, such as Mozilla Thunderbird. It offers calendaring features directly in the Thunderbird User Interface. Further integration features, such as e-mail invites or address book integration are not planned for future releases, because it's no longer maintained. Please use Lightning instead of Sunbird.

What do I need to install Lightning?

You need a current version of Thunderbird, either 3.1 or higher. There are also Lightning versions for the latest nightly releases in the "Development Channel" section. Take a look at the Lightning download page. If there is trouble, try installing Lightning before any other extensions.

How do I uninstall Lightning?

You can uninstall Lightning from the Add-on Manager in the Tools menu.

Are nightly builds safe?

Nightly builds are test builds for developers. They are not intended for general use. Using nightly builds can result in crashes and loss of data.


Is there a holiday feature of some kind?

You can subscribe to holiday files.

Can I make a recurring event on, say, the first Monday every August?

Set the event to repeat every 12 months: In the new event dialog, set the start date to the first Monday of August of the first year, say 2012-08-06. Click the drop-down list next to "Repeat" and choose "Custom...", choose "yearly" in the drop-down list next to "Recurrence pattern", set the interval to 1 year, and set the other options to "First Monday of August".

How can I publish my events on a remote server?

You can create your calendar on a calendar server that supports CalDAV, or WCAP, or has a calendar data provider add-on. CalDAV, WCAP and some add-on protocols permit a calendaring client such as Sunbird or Lightning to tell the server to modify individual events, and the servers prevent or detect overwriting changes by two people or programs. When you subscribe to a calendar using these methods, changes you make are saved back to the server one event or task at a time.

You can also publish events from the calendar as a personal .ics file on an FTP server (Sunbird only) or a webDAV enabled web server. You can use the calendar to subscribe to these events as well. Since this method overwrites the entire file for each change, it is not for calendars modified by more than one person or program, nor for large calendars.

How can I serve my shared calendars?

One way is to store your calendar on a public calendar service. There are many; check with your email provider, or search the web. Some store only whole ics files modified by a single user, while others provide a service with a more robust calendaring protocol such as CalDAV (or WCAP), to better handle through large calendars and changes by multiple users.

To serve shared calendars from your own server machine, the best way is to install a service specifically designed to manage calendars, typically using a protocol such as CalDAV, or WCAP. Both open source and commercially supported calendar service packages are available.

If only one person or program will modify a small calendar, you can use a webDAV server. If you run your own web server, you can install mod_dav, a free Apache module that will turn your web server into a webDAV server. Instructions on how to set it up are on their website. Once you set up your webDAV server, you can publish your calendar to the site, then subscribe to it from any other Calendar. Automatically updating the calendar will give you a poor man's calendar server.

Can Sunbird/Lightning remind me when closed? Can Sunbird start minimized?

No, Sunbird and Lightning can't give pop-up messages or send e-mails when they are not running. However, there is a 'trick' for this problem: you can hide Sunbird in the tray. This can be done with Suntray or Minimize to Tray for Windows and Kdocker for Linux.

Import, Export

What is the file format for Sunbird or Lightning?

Sunbird/Lightning uses a SQL-based storage mechanism based on SQLite. Local calendar files have the file suffix .sdb and can be found in the profile directory. Sunbird/Lightning can also work with files based on the iCal standard. These files have the .ics file suffix and can be opened, imported, exported and subscribed to.

Will it work with Outlook?

Outlook does not store its calendar data in an open standard format, so Calendar and Sunbird currently do not support Outlook directly. However, you may be able to export your Outlook events as an .ics or .csv file, and import them into Sunbird or Lightning using the "Calendar Files" or "Outlook Comma Separated" file type, respectively. Linux users may find this page of some use. (Follow bug 167102 for more details on Outlook integration.)

Will it work with Sun's calendar server?

In the New Calendar dialog select "On the Network" and then the "WCAP" calendar type. Provide a URL of the calendar server of the form "" or "" in the "Location" field. See also the WCAP Guide.

Does it work with Apple's iCal?

iCal and Calendar use the same file format, so events from one should show up without problems in the other. You can also subscribe to the list of events on Apple's website if you like.

Please note that iCal is currently not capable of cooperatively editing a calendar file on a webDAV or ftp server. iCal will overwrite any changes made from a different application (like Sunbird or Lightning) on such a file.

Does it sync with my Palm Pilot?

Calendar does not yet sync with your Palm Pilot.

Why doesn't it show any events when importing a calendar file? (It seems to be importing all the items but doesn't show any events.)

Sounds like your default calendar might be set to not visible (in the Calendars tab). There is a bug that sets a non-visible calendar to visible for a short time while adding a new event to that calendar. The events are drawn to view during that time, but when you click one of the events the calendar is not available, and a crash results.

In short: check if your default calendar is visible.


How can I change the date format?

The Long date format and Short date format are defined by the local operating system so date formats are consistent across the screen.

In Windows 2000/XP, see Start | Settings (Win 2000) | Control Panel | Regional Options | Customize... (Win XP) | Date (tab).
In Windows Vista/7, see Start | Control Panel | Clock, Language and Region | Region and Language | Additional Settings... | Date (tab).

You can choose between the Long date format or Short date format in the calendar preferences to control how dates appear in tables and exported text.

How can I change the calendar alarm sound?

It is packed in the calendar.jar file in your applications chrome directory. The filename is sound.wav. You have to unpack calendar.jar with a zip program (like WinZip), change sound.wav and repack it.

How can I Color events?

You can create calendar files for different kinds of events and give each file a different color.

How can I access Local Calendar(s) from Sunbird or Lightning at the same time?

  • Sunbird: Use "File | New Calendar..." to create a new local file in one program, and "File | Open Calendar File" to open the same local file from the other program.
  • Lightning: Use "File | New | Calendar..." to create a new local file in one program, and "File | Open | Calendar File..." to open the same local file from the other program. This is intended for viewing the same local calendar from two programs, not for editing a shared calendar. Be careful not to add or edit any events or tasks in the same calendar file from two program instances simultaneously, or you may lose changes when the file is overwritten. (If you must live dangerously, refresh before editing.)

An example in more detail:

  • Create a local calendar within the first program, say Lightning.
    1. To create a new local file, by using a "file://" URL:
    2. From the "File" menu, choose "New | Calendar..."
    3. Select "On the Network", and click "Next" (NOT "On My Computer", which creates calendars stored in a local SQLite database.)
    4. Select "iCalendar (ICS)" (default), and enter a file: URL to the local file. On MS-Windows operating systems it may be something like: "file:///C:/Documents and Settings/USERNAME/MyCal.ics".
    5. Click "Next".
    6. Edit the name and color if desired.
    7. Click "Next".
    8. Click "Finish".
    9. In the left sidebar, the calendar is added to the Calendar list (click '+' if it is collapsed), but the MyCal.ics file won't appear on disk until you add an event or task to it.
    10. In the "Calendar" list, click to select the new calendar "MyCal" so just its line is on a different color background. (The checkbox should remain on.)
  • To add a new event, click the "New Event" toolbar button (or in the "File" menu, click "New Event..."). In the event dialog, enter a title, say "My Lunch".
  • Click "Save and Close" to save it.
  • To verify where the calendar is stored: In the "Calendar" list, click-right on the calendar name "MyCal.ics" and click "Properties". Note the location file path. Click "OK".
  • To verify that the event "My Lunch" has been stored in that file, "MyCal.ics", view "MyCal.ics" in a text editor to check that an event with the title "My Lunch" has been added to that file.
  • Open the local calendar from the second program, say Sunbird.
  • To open the file:
    1. In the Calendar "File" menu, click "Open Calendar File..."
    2. In the file browser, locate the same file.
    3. You should see the event "My Lunch" that you added from Lightning.
  • In Sunbird, add a task to the same file titled, say, "My Workout", and click "Save and Close".
  • Refresh the other program's memory of the calendar from the local file.
  • Find the program's "Calendar" list in Lightning.
  • Toggle the calendar "MyCal" checkbox off and then on again. Events or tasks added from Sunbird like "My Workout" should appear.

Help Develop Sunbird/Lightning

How can I tinker with or patch the user interface?

The GUI is written in XUL, JavaScript, and CSS, with DTDs and properties files for localized text. They are all contained in the chrome/calendar.jar in the user profile extensions directory (Firefox, Thunderbird).

On Linux, the profile extensions path is probably something like ~/.mozilla/thunderbird/{8e117890-a33f-424b-a2ea-deb272731365}/chrome/calendar.jar. The application directory path is probably something like /usr/local/sunbird/chrome/calendar.jar.

On Windows, the profile extensions path is probably something like C:\Documents and Settings\(user)\Application Data\Mozilla\thunderbird\Profiles\\extensions\{8e117890-a33f-424b-a2ea-deb272731365}\chrome\calendar.jar. The application directory path is probably something like c:\Program Files\sunbird\chrome\calendar.jar.

Unzip the calendar.jar. It contains three directories: content, locale, skin.
content: XUL and JS define the components and event handlers. XBL files contain both XUL and JS.
locale: DTD and properties define the text for each locale.
skin: CSS and images define the look for each default theme.

To make a change:

  1. Unzip the calendar.jar,
  2. Edit files,
  3. Pack it back up into calendar.jar,
  4. Restart Lightning/Sunbird and test.

That's it. Test with javascript.options.strict set to true to get JavaScript console warnings for common problems (open the URI about:config in the browser to set the preference).

For fixing bugs, if files in the source code repository (Comm-Central) are more recent than the latest nightly build you're using, it is better to get files from the repository, edit, and pack them into the jar (note directory structure).

Where do I get the latest source for Sunbird/Lightning?

The source for Sunbird/Lightning is in the comm-central Mercurial (hg) repository. Follow the instructions on that page to get the source code.
You can also browse or search the source, or check what just changed in the comm-central repository.

How do I build Sunbird/Lightning?

Check out the source code and the build documentation. Accompanying information can also be found on the Sunbird build page.

How can I help to fix bugs?

Check out the bugs page.

Community Discussion/Help

Where is the help function in Sunbird/Lightning?

Sunbird and Lightning do not have a help function yet. There is a project ongoing which provides an extension for Sunbird. The extension can be found on their project page. The same project also came up with an online help.

Which newsgroup or forum discusses Sunbird and Lightning?

Two Sunbird-/Lightning-related newsgroups exist on the news server. This newsgroup is dedicated to users of Sunbird or Lightning. All user-related discussions (questions regarding the use of the product, tips and tricks, workarounds or enhancement requests) should be posted here. This newsgroup is dedicated to the current and future developers of Sunbird or Lightning. All developer-related discussions (how to best fix a particular bug, how to use a particular interface to extend the product or all discussions regarding future product planning) should be posted here.
If you still need help, feel free to post a question in the MozillaZine Calendar Forum.

These fine people helped write this article:

Illustration of hands


Grow and share your expertise with others. Answer questions and improve our knowledge base.

Learn More