Tuesday, August 25, 2009

Tomboy 0.15.6 Released, ~/.tomboy is no more

"Light Hearts", Copyright Ellery Armstrong, Milk Teeth Photography, Used With Permission


Yesterday I released Tomboy 0.15.6 on Linux, Mac OS X, and Windows. The biggest change is invisible to most users: we've gotten rid of ~/.tomboy.

Anybody who's backed up their notes or created Rube Goldberg-esque sync solutions is familiar with this hidden directory holding note files, user-installed add-ins, and various bits of configuration. As of today, ~/.tomboy is no more. We've separated out notes, configuration, temporary files, and even the log, and relocated them according to FreeDesktop.org standards on Linux, and appropriate conventions on Mac OS X and Windows. Everything will be automatically be moved. Details available on this wiki page.

The benefits of this move to users are:
  • Users who are already trained to back up directories like ~/.config and ~/.local won't have to remember to add ~/.tomboy to that list (same argument for ~/Library on Mac OS X)
  • Folks who want to set up their own ad-hoc note sync will now have a much easier time, because they can just sync the notes folder. Use any popular method of synchronizing a directory (rsync, iFolder, UbuntuOne, Dropbox, whatever), and combine that with our NoteDirectoryWatcher add-in, and you should be good to go. You'll miss some benefits of our sync infrastructure, like conflict handling, but you'll gain one big feature missing from Tomboy: automatic synchronization.

If you maintain some tool that expects Tomboy note files to live in ~/.tomboy, please update it to also look in (by default) ~/.local/share/tomboy. Thanks!

In the previous release I cleaned up the Search UI according to input from Andreas and Kalle at GCDS:

The original Search UI: Pretty with a lot of wasted space and one useless feature (click for full window)


The updated Search UI: Cleaner, lest wasted space (click for full window)


Other changes since the last time I blogged:
  • New underline formatting add-in from Mark Wakim
  • Keyboard shortcuts for changing font size
  • Improvements to HTML export
  • Less command line output unless you run Tomboy with --debug (this actually has a positive impact on performance, by the way)
  • Add "Get More Add-Ins..." button in the Preferences UI
  • In SSH sync, we no longer force port 22 if no port is specified

This post brought to you by the Tomboy Blogposter add-in.

29 comments:

Anonymous said...

Nice work. Which has a positive effect on performance, --debug or no --debug?

Sandy said...

@Anonymous: Running without --debug will always have better performance. The only time I see a measurable difference is start-up, though.

As a developer, I usually run with --debug, and I don't even notice the difference (it's a second or two at startup, depending on your system of course).

Anonymous said...

What theme are you using in the pictures there?

Anonymous said...

Look at Banshee's search bar.

Under the magnifier you could put search options (like case sensitivity), and the "clean/erase" button could be placed inside the search box, as it seems common nowadays.

Sandy said...

@Anonymous: That's Sonar, the new theme from jimmac that will be the default in openSUSE 11.2. I don't know the proper place to get it, but I'm sure if you ask in #opensuse-gnome on Freenode somebody will help you out. I modify it slightly by making the "selected items" background color a lighter shade of green (you can do this in your Appearance Preferences).

Sandy said...

@ Anonymous #3: Yes, I intend to move the clean/erase into the search box. This is supported in gtk+ now, but the gtk-sharp bindings haven't been updated for it yet and I haven't had the time to bind it myself.

I really don't think any search options are necessary, but I agree that if we wanted to expose any your approach would probably be the best way.

Ethan Anderson said...

Oh, so it's the FDO /standard/ that's less elegant than OS X.

If and when I write an app for Ubuntu, its configuration won't be compliant, it'll be in ~/Settings/AppName

Or actually wait, you can symlink .config to ~/Settings, right?

Ethan Anderson said...

Okay, there we go.
http://i27.tinypic.com/25zpgs4.jpg

Is there a 100papercuts bug for this?

Sandy said...

@Ethan Instead of doing whatever you think is cool (hey, maybe I'll do "Preferences" because it's "better" than "Settings"), maybe you should engage other folks about changing the standard. Maybe the next version of the XDG base directory spec could have different defaults.

Sandy said...

@Ethan: The symlink is a cool idea, but if you read the spec there are better ways to change what apps use. The symlink thing would break backup/restore scenarios.

You might want to read this, too.

Ethan Anderson said...

Wait, $XDG_CONFIG_HOME is a variable-- so Tomboy will put its settings wherever the system says? ..and all I have to do is make a ~/Settings, set $XDG_CONFIG_HOME to ~/Settings, and then Tomboy will just use that without a symlink?

Sandy said...

@Ethan: Exactly. :-)

Don't forget that notes go in $XDG_DATA_HOME, though.

Ethan Anderson said...

Learn something new every day.. So, it's the Apps that don't honor that variable that are cluttering up my ~/ ....

I've got a lot of bugs to file.

So, on my 9.10, I'm going to rename that directory, and change the variable accordingly, and then restart. I shouldn't need to do anything else, right?

Sandy said...

@Ethan In theory, that should work fine. However, it is entirely possible that some applications aren't really following the standard correctly. They may hard-code ~/.config instead of checking $XDG_CONFIG_HOME, for example.

So after doing this, I recommend seeing if ~/.config is still being used by any apps, and filing bugs against those apps.

Anonymous said...

Everything will be automatically moved to the new directories, you say. So moving to the new Tomboy is an all-or-nothing upgrade - old versions will not see existing notes after a newer version has been run?

Sandy said...

@Anonymous: that is correct. In fact, because the notes are *copied* from the old location, going back to an old version of Tomboy would cause you to have your old notes but not your new ones.

I do not expect this to impact more than a handful of people. If you have better ideas for the migration, there is still time before the stable release.

Anonymous said...

@Sandy - it's probably not a significant problem for me, at least... just wanted to check, since I often have separate Linux installs for day-to-day use, and for trying new stuff.

Sandy said...

@Anonymous Yeah, I must say, anybody who is sharing a home directory between different Linux distributions is bound to run into stuff like this, and I don't lose too much sleep over it. ;-)

My recommendation is to upgrade each distro using packages or source, or you could use TOMBOY_PATH to override where Tomboy looks for notes (so Tomboy 0.15.6 and greater would still keep configuration/cache/etc in the new directories, but for notes you could do TOMBOY_PATH=~/.tomboy).

Anonymous said...

The search icon although large provide a good visual indicator that the dialog is about search.
Cramming everything might be efficient space usuage, but it adds to the awful UI found in most Windows & Linux application.

Possible Piper said...

The new UI looks too cramped, and I think there's one main reason why that is - the Search text doesn't line up vertically with the list underneath it. It seems to be a pixel or two further left, but it really needs to be precisely aligned in order to fit properly.

I don't object to the removal of the case sensitivity thing, as I'm not sure that's particularly useful in Tomboy, but I do object to things getting cramped up. Whitespace is so important in a UI.

Hylke Bons said...

Sandy: Put the "Search" text inside the entry and make it disappear when you enter it? That way the widgets align up nicely. I don't agree with the comments that it's not clear enough it's a search dialog, because it pops up when you select "Search for Notes" in the first place.

There can be a search icon in the entry as an extra visual clue.

Sandy said...

@Possible Piper @Hylke: Thanks for the comments, I'll see what I can do before the stable release without breaking UI freeze (little things are usually not an issue).

Marius Gedminas said...

What do you think about swapping the boxes for the notebooks and search results? Putting the search results on the left would make them align with the new position of the search bar nicely. Also, for people who don't use multiple notebooks, that list is useless and steals attention from the important part.

Sandy said...

@Marius that's an intriguing idea. I like it, though it might go against common user expectations.

For what it's worth, you can resize the Notebook pane to be entirely hidden, which is what I do to keep my Search window small.

David said...

Hey, didn't I help at GCDS too? :(

David said...

Way to go, this looks great! I just hit Ctrl+h in my home folder today and was amazed at how many apps just put their business in there.

Sandy said...

@David: My bad, you totally did! Of course, with you I think more about the discussions on reworking notebooks, rebranding Tomboy, etc. :-) I had such a blast hanging out with all of you guys, I can't wait till next time.

By the way, I'm looking forward to sitting in on your session during Ubuntu Developer Week.

Eemil said...

Seems that the released version of tomboy has my suggested colour of the links taken from gnome colours, but the highlight colour is still the same yellow. This makes me unable to use it, since I am using a dark theme, and my text is white. Gnome does define highlighted text colour in themes, as do other systems. Why not use them?

Sandy said...

@Eemil If you can provide a patch, I can probably have that fixed for the next release. If not, I'll try to take a look at it, but there are some higher priority bugs for me right now.