XNote for Thunderbird

Please note: XNote++ Code, Issues, Wiki are now available on Github. The rest of this page is no longer maintained.


XNote is a Thunderbird add-on that allows you to attach notes to individual e-mail messages. Initially released by StarXpert, the original developers of XNote ended development of it. I ported XNote to Thunderbird 3 in December 2009 and sent them an e-mail containing the first version of the port, but did not get an answer. Consequently, I have been maintaining XNote since Thunderbird 3.

Unfortunately, I don’t have too much time to spend on this. If you run in troubles on Windows or Linux, you may report them in the hope that they might get fixed some time (better report patches 😉 ). Please verify that the issue is reproducible on a clean Thunderbird profile and include your operating system, XNote, and Thunderbird version number in the details. If you have troubles on a Mac, you are on your own if the issue is not reproducible on Windows or Linux as I have no access to that platform.

Testing with a clean/new Thunderbird profile: Create a new profile and check whether the issue is reproducible with the newly created profile. You don’t have to migrate/configure all your data and accounts to the new profile. For testing it is usually sufficient to just copy the old “Mail/Local Folders/Inbox” file to the new profile while Thunderbird is closed, delete the corresponding Inbox.msf file of the new profile, and start Thunderbird to see whether your issue is reproducible.

Download: Please download from the Mozilla Add-on Website.

FAQ, open issues, requested features

Please note that I did this port to TB3, because I am an XNote user. Consequently, XNote is currently in a maintenance phase and new features will primarily be added if someone is willing to contribute the necessary code. If you are interested in actively developing XNote, send me an e-mail. This add-on needs an active long-term maintainer.

However, this section lists some issues gathered so far along with some comments or workarounds.

  • Question: I cannot see the XNote column with the icon indicating an attached note.
    Solution: You have to add that column manually via a (left-)click on the rightmost icon in the column headers of the e-mail list (above the scrollbar).
  • Question: How can I get enable message highlighting (message tags) for e-mails with attached notes?
    Solution: Select the check box “Use tag?” in the XNote++ options dialogue: Tools → Add-ons → XNote++ → Options.
  • Question: Could you store the notes directly in the e-mail so that the notes can be used across different computers when using IMAP?
  • Possible workarounds:
    • Starting with version 2.2.1, you can configure the storage path for your notes. By default, notes are stored in the “XNote” folder in your Thunderbird profile directory. In order to access the notes on a different computer or to share them with other users, configure the storage path to a mounted network drive, e.g., using WebDAV, Windows Share / Samba, or NFS. Beware that this might have a negative impact on the performance of the message list (scrolling) due to the network latency and the way how the XNote column is implemented. Another solution is to save the notes in a Dropbox folder.
      You can change the storage location via the XNote++ options dialogue: Tools â†’ Add-ons â†’ XNote++ â†’ Options – and configure it with your desired path. If you already had some notes, don’t forget to move them to the new location.
    • Similar to the previous option, you can store your whole Thunderbird profile on a shared network drive (requires appropriate configuration of “profiles.ini” in your Thunderbird user directory). Beware that this might have a big performance impact – depending on your network and the amount of data stored in your profile directory.
  • Question: Can I view the notes outside Thunderbird?
    Answer: The notes can be viewed in any text editor. The beginning of the file contains some control information. After that follows the text. However, the text is URL-encoded. Therefore, you need a URL-decoder for better reading.
  • Question: After I activate the tagging feature, the messages with attached notes don’t have the XNote tag assigned.
    Answer: Changing this parameter does not automatically lead to an update of all your messages (could take quite some time anyway). The XNote tag is only assigned when opening a message with a note or creating a new note. To just search all messages containing a note, sort by the XNote column
  • Question: Is it safe to allow several users to modify notes stored on a shared drive, possibly simultaneously?
    Answer: Short answer: no. If two users edit the note for the same e-mail, they risk overwriting each other’s changes.
  • Issue: If you resize the note so that the marker for resizing at the bottom right corner disappears, you can no longer resize the note after you released the mouse button.
    Comment: To reset the notes window to the default size and position, right-click on the mail in the message list and select “XNote â€“ Reset note window”.
  • Issue: If an XNote is added to a draft e-mail, the note disappears after sending the e-mail.
    Comment and workaround: Unfortunately, Thunderbird changes the Message-ID at the time it sends the message. This has the effect that the note is still there, but the association of the message to the XNote file is broken. The manual fix for this issue is to copy the content of the note, delete the note, send the message, create a new note for the sent message, and paste the copied content.
    If you already sent the note, you can manually rename the notes file (located in the XNote directory of your Thunderbird profile directory – unless you changed it). For this you have to identify the note via the date of the last change and inspecting the notes file or searching for some known content within the files. If you identified the file, change its filename to the correct message ID. To find out the message ID, select the sent message, select “View – Message Source” from the menu, and lookup the Message-ID header.
  • Issue: If you use a theme like PitchDark with white text, the text on the yellow notes becomes unreadable.
    Solution 1: This should be fixed with XNote version 2.3.0.
    Solution 2: (posted by Cocinero in the XNote reviews): Add the following to your userChrome.css file (in the chrome directory within the TB’s profile directory – create file and folder if necessary):
    /* XNote: set text color to black */
    .boite-de-texte, #xnote-titre {
    color: black !important;
    }
    → This will set all text in the notes boxes to black.
  • Question: Is it possible to change the font size of the notes?
    Solution: Similar to the solution above, you can specify a font size in userChrome.css:
    /* XNote: set font size to 12pt */
    .boite-de-texte, #xnote-titre {
    font-size: 12pt !important;
    }
  • Issue: If you upgrade XNote from some version < 2.1.0 to some version >= 2.1.0, your notes will miss the first 32 characters. The reason is that the original XNote developers changed the storage format with version 2.1.0.

    Solution: Please note that I provide the following without any warranties.

    You may try a small converter I’ve written for that issue. It requires that you have Java installed. Save XNoteConverter.jar to your computer and double click on the file from the file manager. If this does not work, open a command line window, change to the directory where you stored XNoteConverter.jar and call “java -jar XNoteConverter.jar”. This brings up a file chooser in which you select the XNote directory located in your Thunderbird profile directory. This XNote directory contains files with a “.xnote” extension. Before you confirm the dialog, make a backup copy of that directory. After you made the backup, confirm the directory in the file chooser. Thereafter, the notes will be converted to the new file format as required for versions >= 2.1.0. The converter will also backup each existing note file by renaming it to “.xnote.sav” before the new converted note file is written. If you verified that the conversion worked correctly, you can delete all files with a “.sav” extension in the XNote directory.

    If you don’t trust the compiled file, you may compile yourself from the source (if that is an option for you).

The following link takes you to the list of open known issues and feature requests.

Starting XNote/Thunderbird add-on development

As I wrote in the introduction of this page, I am only maintaining XNote as far as required to keep the compatibility. However, sometimes I get e-mails from people potentially interested in XNote development – although no one actually started.

Unfortunately, I cannot provide too much guidance to you due to time constraints, but can give you some pointers to resources for Thunderbird add-on development:

To get started, it’s sufficient to copy the sources of an add-on into the extensions directory within the Thunderbird profile directory. The sources for installed add-ons are usually already there. See kb.mozillazine.org/Profile_folder_-_Thunderbird for the location of your profile directory. If you see .xpi files in the extension directory, these are regular ZIP-files and can be extracted with any program capable of the ZIP compression format.

If you need some specific tasks to get you started, just look at the “FAQ, open issues, requested features” section on this page.


Outdated information for older add-on technology and Thunderbird versions up to about 60.

Generally, a Mozilla add-on consists of XUL (XML for UI definition) and JavaScript that controls the UI and uses the API of the Mozilla application – Thunderbird in the case of XNote. The UI of a Mozilla application itself also builds on XUL and JavaScript – an add-on extends/overwrites these definitions.

Version information

xnote-2.3.1 (August 29th, 2019)

  • Fixed issue that tag colours are not shown.
  • XNote column header shows icon again instead of label.

xnote-2.3.0 (July, 14th, 2019)

  • Compatibility with TB 68
  • Fixed issue with context menu if it is opened from the message pane. [bug 63]
  • Fixed issue with some dark themes that led to white text in the notes window.

xnote-2.2.14 (April 26th, 2018)

  • Compatibility with TB 60
  • File permissions of new notes are now set to 0660 in order to allow sharing notes with a user’s group.

xnote-2.2.13 (Sept. 16th, 2016)

  • Polish translation added.

xnote-2.2.12 (May 3rd, 2016)

  • Removed position limit based on screen size (reset on load) as it leads to incorrect behaviour when using two monitors – was intended as a workaround for the movement bug.

xnote-2.2.11 (April 22nd, 2016)

  • Fixed namespace collision with ImageZoom – seems that different add-on initialization requires a new approach for TB45.
  • Preferences are now stored under “extensions.xnote.” – migration functionality added so that old settings are not lost.

xnote-2.2.10 (April 19th, 2016)

  • Compatibility with Thunderbird 45.

xnote-2.2.9 (July 24th, 2012)

  • Bugfix: text area in notes window no longer grabbed the focus.

xnote-2.2.8 (July 12th, 2012)

  • Added confirmation dialog if the delete “X” is pressed.
  • Fixed bug that special characters in storage path are treated incorrectly.
  • Several internal changes and restructuring based on review feedback.

xnote-2.2.7 (Oct. 04th, 2011)

  • Italian translation updated
  • Date in note window only updated upon text modification.

xnote-2.2.6 (July 07th, 2011)

  • Japanese translation added.

xnote-2.2.5 (Mar. 29th, 2011)

  • Bugfix in French translation.

xnote-2.2.4 (Mar. 15th, 2011)

  • New configuration option that allows to select whether notes are shown by default after message selection.
  • XNote can now be configured to show the first X characters in the XNote column.

xnote-2.2.3 (Nov. 15th, 2010)

  • Options dialog added.
  • Galician translation added.
  • Default date format changed to an international format.
  • Dutch, French, and German translations updated.

xnote-2.2.2 (Oct. 28th, 2010)

  • Enabled XNote for Seamonkey 2.0.*
  • Fixed the issue that the XNote toolbar button was not added automatically. This seems to be broken since the XNote version for Thunderbird 2.
  • The column icon in the message header list is now the same as the XNote indication of the individual messages (yellow instead of gray).
  • nl-NL and fr-FR translations updated.
  • Some minor bugfixes

xnote-2.2.1 (Sept. 14th, 2010)

  • Notes storage path can now be configured via the xnote.storage_path preference (see FAQ).
  • MessageIDs that are invalid filenames are now escaped â€“ it was not possible to add notes to these messages as they could not be stored.
  • French translation updated.

xnote-2.2.0 (Aug. 25th, 2010)

This is functionally equivalent to the 2.2.0pre2 version with minor changes:

  • The XNote column is now called “XNote” instead of “Note”.
  • Icon available in the Add-ons manager.

xnote-2.2.0pre2 (Aug. 16th, 2010)

  • Addressing Mozilla editor review comments in order to get this add-on out of the sandbox.
  • XNote window is now aligned in relation to TB Window instead of screen and moves with the main window.
  • Added context menu item to reset size and position of the XNote window.

xnote-2.2.0pre1 (Feb. 14th, 2010)

  • Major version number change to indicate the TB3 update and the break with TB2. This should become the final 2.2.0 if no major issues occur
  • Fixed the issue that notes could be added via right-mouse click only to the currently selected message
  • Fix for adding XNotes via right click in the message pane.
  • Fixed column handler – sorting works now.
  • Fix for virtual folders (saved searches): Colum icon now displayed correctly for saved searches with multiple search folders.

xnote-2.1.1b2 (Jan. 25th, 2010)

This is the version moved to the Mozilla Add-ons website. See version xnote-2.1.1b.lf below for detailed comments as they contain the same code.

xnote-2.1.1b.lf (Jan. 13th, 2010)

Changes

  • Fixed the annoying bug of the previous version that notes are lost if you immediately close Thunderbird after editing a note. There were some more things to do than just API compatibilities in the change to TB3.

Known (and reproduced) issues

  • If you right-click on the message pane (the place where the e-mail content is shown) and select “XNote –> Create note”, the notes window is not shown.
    Workaround: Use the toolbar button (or right click in the message list) to add new notes.
  • The XNote context menu is only enabled if you right-click on the currently opened message in the message list. If you right-click on a different message, the menu is disabled.

xnote-2.1.0-lf (Dec. 12th, 2009)

  • Straight forward port from TB2 to TB3 based on fixing API incompatibilities.

Known (and reproduced) issues

  • If you change (edit, resize, move, etc.) a note and then immediately close Thunderbird, you will lose the edited note.
    Workaround: Change to a different mail message before you close Thunderbird.