August 18, 2006

Take notes with Tomboy

Author: Joe 'Zonker' Brockmeier

A few weeks ago, I started looking around for an application that makes it easy to take notes. I do all my writing in Vim, but I wanted something that was good for quick and dirty notetaking and for organizing information without maintaining a collection of text files. After some research, I settled on Tomboy.

Tomboy is a simple desktop note-taking application for Linux and other *nix operating systems. It's written in C# and runs on Mono. It has also just been accepted into GNOME 2.16, so Tomboy will be appearing on a lot of Linux users' desktops soon, if it's not there already.

Getting started with Tomboy

You may need to install Tomboy, since it's not yet part of the stable GNOME release. Most recent distros should have Tomboy packages available, though they may not be installed by default. On Ubuntu, run apt-get install tomboy, which should pull down all the necessary dependencies, including Mono, if you don't have it installed already.

Once you have Tomboy installed, you'll be able to start creating notes right away. When you first start Tomboy, it will spawn an icon in the system tray, but it won't actually pop open a note window. To start your first note, or to resume editing notes in progress, click on the Tomboy icon in the system tray. You should see a menu with several options, including Create New Note. Click that and Tomboy will spawn a New Note window.

Tomboy supports the wiki convention of creating links when using "WikiWords," or words with multiple caps, but you have to enable this in Tomboy's preferences. To get to the preference dialog, right-click on the Tomboy icon in the system tray and select Preferences. You can also enable or disable inline spellchecking, and change the default font.

The preferences dialog also has a Hotkeys tab, where you can set up shortcuts for showing the notes menu, creating new notes, searching notes, and opening the "Start Here" menu. By default, Tomboy doesn't have a shortcut enabled for creating a new note, at least in the Ubuntu package, but you'll probably want to enable that -- it's much handier than starting a new note by clicking in the system tray.

The formatting in Tomboy is pretty basic, but perfectly fine for notes. You have can use bold, italic, highlight, strikeout text, and regular text. The font size options are small, normal, large, and huge, rather than specific font sizes. Despite its support for WikiWords, Tomboy doesn't support other wiki conventions, so some of the text formatting you might be used to with MediaWiki or other wiki apps won't work in Tomboy.

If you want to create a link in the current note to a new note, you can either type in a WikiWord phrase for the new note, or highlight some of the text in the current note and use Ctrl-l to create the link, or you can use the Link button in the Tomboy toolbar. If you use the WikiWord approach, you will need to click on the link to actually open a new note.

You can also search through your notes by pressing Ctrl-f or clicking the search button in the Tomboy search bar. What's nice about Tomboy's search function is that you have the option of searching through a single note, or your entire collection of notes. My notes are usually short enough that I don't need the search for an individual note, but if I can't remember which note a phone number or something like that, the search all function is a lifesaver.

If you're an Evolution user, Tomboy allows you to drag and drop email messages into a note, which will create a link from Tomboy to the email. Just click on the link to open the message in Evolution. Since I don't use Evolution for email, I'm hoping that the developer will add support for additional clients, especially Sylpheed.

Tomboy also supports linking to files. Just drag and drop a file from your desktop or file manager into Tomboy, and it will create a link to the file in your note. Click on the link and it will open the file in the default GNOME application on your desktop. For example, I dropped a JPEG into a Tomboy note, which created a link that would open the JPEG in Eye of GNOME.

Though Tomboy is ostensibly a GNOME application, I've had no problems running it under KDE as well.

Save your notes

With Tomboy, you don't have to worry about saving your notes each time you make a change. They're saved automatically, without any user intervention. You can close Tomboy windows without any concern about losing the information, and reopen your notes at any time from the Tomboy system tray icon.

You might wonder where the actual files are, though, for backup purposes or if you want to move your Tomboy notes to another computer. Tomboy stores your notes under the ~/.tomboy directory, and you can simply copy that directory to another machine if you want to move your notes.

If you'd like to export your notes, Tomboy supports export to HTML. Tomboy will export an individual note, or if the note has other notes linked to it, it will include those in its export as well. The export is one big file, so if you have a lot of notes linked from the main note, it'll be a lengthy exported page.

Note formatting is carried over to HTML, so if you've made text bold or highlighted it, the same formatting will be used in the export. For multiple notes, each note is separated by a black border (using a div tag and CSS, not tables), so it's easy to see which note is which.

Still under development

Despite Tomboy's usefulness, it's still at a fairly early stage of development. The most recent version is 0.3.5, and it lacks a few features that one might expect. For one thing, Tomboy is completely bereft of help. It's not a difficult program to use, of course, but it's usually a Good Thing™ to have help of some kind with an application.

You can delete, but not recover, notes. You do get a warning before permanently deleting a note, but perhaps the author will add an undo at some point, just in case.

Tomboy would also benefit from having an outline mode or support for numbered and bulleted lists. If I'm taking notes in a hurry, it'd be nice to be able to type in * before an item and have Tomboy start a list, just as Writer does. According to the Tomboy site, that feature is under development.

Another feature that I miss is the ability to copy and paste within Tomboy using the middle mouse button. You can paste from other apps into Tomboy, and from Tomboy into other apps, using the middle mouse button -- but it doesn't work within Tomboy. The standard keyboard shortcuts, Ctrl-c for copy and Ctrl-v for paste, do work as expected.

I also found that I could cause Tomboy to crash by creating two notes with the same name. I managed to crash Tomboy twice in the past couple of weeks. I didn't lose any data, but this does indicate that Tomboy has a ways to go with regards to stability.

The only other complaint that I have with Tomboy is that it's too mouse-oriented. Some operations can be performed only with the mouse, which is a minus for keyboard-centric users like me, not to mention a liability for accessibility reasons. For example, you can only delete a note with the mouse.

But, despite the fact that Tomboy is still a ways off from 1.0, I've found Tomboy to be very useful for to-do lists, taking notes during phone conferences, and as a scratchpad when I'm doing research online. I used Tomboy while I was at OSCON to take notes from presentations, and found that it was a perfect application for that kind of task.

Click Here!