Styling the Folder Pane

Draft
This page is not complete.

This content covers features introduced in Thunderbird 3

The folder pane in Thunderbird is predominantly controlled by code in folderPane.js. Since Thunderbird 3, the folder pane is designed in a more modular and extensible fashion. It is now possible to place non-mail entities in the folder pane.

Treeview row/cell properties

CSS Property Equivalent call Explanation
folderNameCol -- A property for indicating that a column is the folder name column.
hasUnreadMessages-true aFolder.getNumUnread(false) > 0 Indicates that the folder (but not subfolders) has unread messages.
isServer-true aFolder.isServer Indicates that the folder is a root folder (one that represents a server).
serverType-server aFolder.server.type Returns the type of the server. For example, IMAP servers are "imap".
specialFolder-folderType aFolder.flags & nsMsgFolderFlags.<name> Returns the folder type if it is a special folder (or "none" if it is a regular folder). For example, if the Inbox flag is set, this will be "Inbox".
biffState-biffState aFolder.biffState == nsIMsgFolder.nsMsgBiffState_<name> Indicates whether or not the folder has new messages.
isSecure-{true, false} aFolder.server.isSecure Indicates whether or not the connection to the server will be secure.
newMessages-true aFolder.hasNewMessages
subfoldersHaveUnreadMessages-true aFolder.getNumUnread(true) > aFolder.getNumUnread(false) Indicates whether or not subfolders have unread messages.
noSelect-{true, false} aFolder.noSelect Indicates whether or not the folder is selectable.
imapShared-{true, false} aFolder.imapShared Indicates whether or not the folder is a shared folder.
specialFolder-Smart -- Indicates that the folder is a child of a unified folder (previously known as smart folder) in the smart folders view.