Monday, October 20, 2008

Tomboy Preview for Windows and Mac

Please To Try

At the end of August, I told you about my little project to bring Tomboy to Windows users. Well, last week I finally merged that code into trunk. And then Friday, the excellent Mono team released a Mono 2.0 installer for OS X, and I found that my Windows build of Tomboy finally worked pretty well on the Mac, too. Of course, some platform integration there would be nice...





Click for full-screen shots. Notice that I added a menu for tracking open note windows, and attached the classic recent notes menu to the dock icon. This is not the most elegant solution, but I wanted Mac users to play around with it and share their own opinions. I'm very open to changes here. :-)

I didn't have any plans this weekend, so I present to you "preview builds" of Tomboy 0.13.0 for Windows and Mac OS X. I'm distributing them with the disclaimer that they are not widely tested, though in my own testing I have found no bugs that would make me worry about loss of data. Just consider yourself warned, and please back up your notes.

If you find any bugs, or have ideas for better platform integration, or find issues with install, please please PLEASE file bugs!

Click to file a bug for Tomboy on Windows!

Click to file a bug for Tomboy on Mac OS X!

Mac Instructions
  1. Install Mono 2.0 for Mac OS X.
  2. Download and mount the Tomboy disk image.
  3. Drag Tomboy to Applications, run!
  4. (optional) Copy your notes to ~/.config/tomboy

Mac Known Issues
  • Shortcut keys all use Control instead of Command.
  • The Bugzilla add-in doesn't work.
  • In the note window toolbar, notebook names can be ellipsized oddly.
  • Hand cursor doesn't show when hovering over links, but they're still clickable.
  • No keybindings support.
  • No i18n support.

Windows Instructions
  1. Install Medsphere's GTK# SDK installer (the runtime installer should work, but in my testing it did not install a particular registry key needed for Tomboy to recognize its presence).
  2. If you are running Windows Vista, you may need to follow additional instructions to work around an installer bug.
  3. Restart your computer.
  4. Download the Tomboy installer.
  5. Double-click to install!
  6. (optional) Copy your notes to %appdata%\tomboy

Windows Known Issues
  • Menu rendering issues.
  • Two console windows appear briefly when Tomboy starts (fixed in Mono.Addins SVN).
  • No drag and drop from other apps into Tomboy (appears to be unimplemented in GTK+ for Windows).
  • If you try to run Tomboy twice, it should show the Search window instead of launching again, but sometimes it will not show the Search window until you have interacted with Tomboy in some other way (by hovering over a window or clicking the tray icon, for example).
  • No i18n support.

Big Thanks

This was actually a pretty easy job, thanks to these folks:
  • Eoin Hennessey, who pioneered a lot of this work in his banshee-osx git branch, which he and Aaron are merging into Banshee trunk this week. Among other things, he created Mono bindings for Imendio's excellent ige-mac-integration library, and scripts for building app bundles.
  • Andrew Jorgensen, Thomas Wiest, Marc Christensen, and Geoff Norton of the Mono team. These guys have been rocking hard on Mono's Mac story, and it shows. Thanks especially for getting me a build of MonoDevelop in time for my Saturday hack fest!
  • Aaron Bockover, who keeps threatening to do a Mac release before me.
  • Brad Taylor and his old Medsphere cronies, who whipped gtk-sharp on Windows into shape.
  • All GTK+ developers and porters, especially those at Imendio!
  • The entire Tomboy community, especially Dmitry Kostenko, Doug Johnston, and Samuel Vandamme for their patches to help make Tomboy on Windows a reality. You guys are awesome!

54 comments:

pqs said...

A good idea is to sync the .tomboy folder with Dropbox. this way it is possible to sync the files between computers and to keep backups seamlessly between a mac and a linux box.

Anonymous said...

Wow. Incredible. It would be great to see more and more Mono-apps ported to the Mac. Tomboy, Banshee and F-Spot would be really great. This could become some ind of a trojan horse.

Anonymous said...

This is really good news! Almost one year ago I migrated away from Ubuntu to Mac OS X. One of the program I dearly missed was Tomboy. Of course, there are similar programs on the Mac, but not one of them is as good, usable and feature rich as Tomboy. Great news :) .

Sandy said...

@pqs: As I stated in the comments of Cimi's post, syncing your notes folder directly with Dropbox is NOT RECOMMENDED, because if you run Tomboy in two places at once they will probably clobber each other. The proper solution with Dropbox is to use the Local Directory Synchronization backend, and point it at a "server" directory kept in sync via Dropbox. Even then, you have to be very careful due to Dropbox's inherent lag.

I will be looking at making Tomboy sync w/ Dropbox safer during this cycle.

Anonymous said...

I got a silly novice question - how to get it to work on Windows? I installed the latest Mono 2.0, I installed Gtk# SDK, and I downloaded Tomboy installer.
When I run Tomboy, I get some type initialization exception in Mono.Posix.dll. Is this something I am doing incorrectly?

System.TypeInitializationException was unhandled
Message="The type initializer for 'Mono.Unix.Native.Stdlib' threw an exception."
Source="Mono.Posix"
TypeName="Mono.Unix.Native.Stdlib"
StackTrace:
at Mono.Unix.Native.Stdlib.free(IntPtr ptr)
at Mono.Unix.UnixMarshal.FreeHeap(IntPtr ptr)
at Mono.Unix.Catalog.MarshalStrings(String s1, IntPtr& p1, String s2, IntPtr& p2, String s3, IntPtr& p3)
at Mono.Unix.Catalog.Init(String package, String localedir)
at Tomboy.Tomboy.Main(String[] args) in C:\Users\sandy\Desktop\tomboy\Tomboy\Tomboy.cs:line 34

Inner exception:
{"Unable to load DLL 'MonoPosixHelper': The specified module could not be found. (Exception from HRESULT: 0x8007007E)"}

The MonoPosixHelper.dll is in Tomboys directory.

Unknown said...

Crash at startup with latest gtk# sdk installer (2.10.4-3) :

à Gdk.PixbufLoader.Close()
à Gdk.PixbufLoader.InitFromAssemblyResource(Assembly assembly, String resource)
à Gdk.Pixbuf..ctor(Assembly assembly, String resource)
à Tomboy.GuiUtils.GetIcon(Assembly asm, String resource_name, Int32 size) dans C:\Users\sandy\Desktop\tomboy\Tomboy\Utils.cs:ligne 102
à Tomboy.ActionManager..ctor() dans C:\Users\sandy\Desktop\tomboy\Tomboy\ActionManager.cs:ligne 52

Sandy said...

Folks, you don't need to install Mono on Windows; this installer is designed to work with .NET 2.0 and Medsphere's GTK#.

@itsfilip: I've followed up on the bug you filed, thanks!

@timaniac: Are you on Vista? You may need to follow the instructions I mentioned in step 2.

Unknown said...

@sandy : running WindowsXPSP2...

Sandy said...

@Timaniac: Did you restart your computer? I forgot to mention that in my instructions, and just updated them. It is necessary to restart after installing GTK#.

If it still doesn't work, please check out that link for the Vista fix...you may be having the same problem.

Unknown said...

@sandy : ok i will try to reboot. Just to mention that medsphere provides "setup module" (msm) that is linkable with windows packages(msi). It's a very convenient way to deploy an GTK# application on Windows. To avoid reboot problem, just add GTK# bin into your application path at runtime with Environment.SetEnvironmentVariable method.

Anonymous said...

I use a mac for work and this was really a application i missed since there is no competing substitute for it on the mac.

Thanks lot!

Anonymous said...

Neither command nor ctrl seem to work on 10.4.11/PPC for menu commands. other than that: nice work!

Anonymous said...

Hello
Thanks for this... however, I'm unable to install Tomboy on Win XP64. I installed Gtk# runtime, rebooted, but Tomboy installation still complains about missing runtime.
XP64 saves 64bit applications in 'Program Files', but 32bit applications by default go to 'Program Files (x86)'
I looked through the registry and .loaders file and everything seems to be OK.

Tom

Anonymous said...

I installed on MacOS 10.5.5 and it seems to work very well. Thank you for the port, you can barely tell it's not a native application!

A couple of bugs I've spotted:
- the blinking cursor doesn't always show up so it's not obvious you can type in a note.
- the visual hint in the bottom right corner of a note to say that you can resize the window doesn't always show up.
- when making a note bigger the white background of the note doesn't keep up with the increased window size, so some of the background is grey for moment.

Sandy said...

@tom: Yeah, as I said, that's a bug in the runtime installer, so you'll need to use the SDK installer or manually set HKEY_CURRENT_USER\Software\Gtk# Runtime\Version to "2.10".

@anonymous: All gtk+/quartz bugs, probably, that I should start filing!

Unknown said...

The runtime installer doesn't put that key there but your check in the tomboy installer is for > than 2.10 so putting 2.10 in that key still fails. I've used 2.11 and it works.

Sandy said...

@Eric: You're right, but I think the latest installer actually puts in "2.10.4" now that I think about it. Sorry, I'm not at my Windows box/vm right now!

Doug Johnston said...

This totally "does not suck", Sandy! This is going to be awesome.

Here's what I've found so far:

• When using Spaces, clicking on Tomboy Dock Icon brings you back to original space
• no copy/paste (OK - using ctrl, I get it)
• Cursors dont change based on context
• No app-bar icon
• No window resizing indicator
• html export doesn't work
• no help
• somehow I got into a state where the text cursor totally disappeared, and the arrow keys would no longer move my around in the note (resulting in a system bell instead)

I'll post bugs (probably after our Thursday dev meeting)

Anonymous said...

Totally AWESOME! Finally mac users too have a fantastic tool like Tomboy!
Thank you so much

Unknown said...

Thanks for the great work Sandy!

These are realy great news. I would like to see many more mono / gnome applications ported to mac and windows showing that mono can be used as a real platform-independent framework. This would show the strength of mono and could make it an alternative for many developers who at the moment use java for this purpose.

It is very sad to see that most of the great mono-apps are not cross-platform which for many people implies that mono is a linux / gnome development tool only. Yet the most important mono-application, mono-develop, is not running on windows which is a clear disadvantage against java where you have the great eclipse-framework which might even run on your cellphone and which gives you the same development environment on every platform. If you want to write mono applications using windows you have to rely on Visual-Studio or SharpDevelop, which is not a problem since they're free, but doesn't give you the feel of independency and interchangeability.

So these are really great news. At last i can use tomboy on windows too! And it's really great :-)

Sandy said...

Everybody, thanks for your kind words and feedback. You are the reason I stay up on a Sunday until it's 4AM Monday to get these releases out. ;-)

With your help, Tomboy is going to rock every platform!

Anonymous said...

Great work ! Thank you very much Sandy !

I was really missing the great Tomboy Notes application on my office PC which has Windows XP OS. I have installed it now.

Initially I installed Medsphere's GTK# Runtime. Tomboy installer showed a message informing "GTK 2.10 or higher version is needed". With GTK# SDK installation, Tomboy was installed successfully.

I can now introduce Tomboy notes to my friends and colleagues who are using Windows !

Panos Laganakos said...

Thanks for releasing tomboy on the Mac!

It was one of the apps I really miss when working on my macbook.

Roger Clark said...

I am really looking forward to some improved synchronization. I use 3 computers daily with Windows, Linux and Mac OS X, and would greatly appreciate it if there was a cross-platform sync solution.

Sandy said...

@drano: The file system sync backend is included, so if you have the ability to mount the same remote server directory on each OS, then you can use Tomboy sync. Be careful though, as these are preview releases and I wouldn't want you to accidentally lose any notes (make frequent backups!).

Anonymous said...

So close! I use Tomboy a lot on my own machine, but I won't be able to use it at work if the gtk# installer requires access to the registry because I don't have administrator privileges. Would it be feasible to make a portable/USB version?

Sandy said...

@Robert: This is probably doable, but not in the scope of things I'm willing to tackle right now. As we (mono app developers) get more experience deploying our apps on Windows, I'm sure this sort of thing will be addressed.

If there is enough momentum for this, you may luck out and find somebody in the community willing to do the work. ;-)

CopPorn said...

Seems pretty great to me on OS X & on windows. Only slight irritation is the menu popping up when you click on the dock icon - every other dock icon, clicking on it brings that application's windows into view, tomboy uniquely displays a menu. If you tend to use exposé to switch apps I suppose this won't annoy but if you are a primitive user like me it does.

I suppose tho, it would have been considerably more work to have a taskbar icon for that menu (as on gnome) - if that is even supported in OSX version of mono, so it makes sense to just bung it on the dock icon for a quicky preview port release.

But otherwise it is pretty great, especially on windows - I have been using the old windows port for a long time at work, and have amassed several hundred notes, so it great to have a newer version of the app - with notebooks!

Unknown said...

Thank you, works great for me! XPSP2

Anonymous said...

This is great to have. I just moved from a lenovo t61 to one of the new unibody macbooks. Since ubuntu isn't up to par yet on the new hardware, I'm using osx for now.

The one request I have for tomboy on osx is for the ssh sync add-in.

Sandy said...

@anonymous: Use the file system backend paired with MacFuse+sshfs.

Anonymous said...

BRAVO! I love tomboy and it's something I really resented not having when I switched to OSX (for video editing purposes).

Kudos for the port and ++1 on making it work from the taskbar (while hiding the icon in the dock).

Anonymous said...

Dude. This is fantastic.. like many of commenters, Tomboy is one of the apps I really missed on OSX. Thanks so much for the port - and I'm happy that the community's appreciation is showing through. :)

Anonymous said...

Good job, Sandy!

-atk

Anonymous said...

Sandy,

Great to see your efforts on this front. I have many machines at my disposal running Ubuntu, Windows XPP and Mac OSX 10.5.5 and I am really looking in running the same apps on ALL platforms.... It is getting there slowly...

On the Mac, the install was a breeze and it works perfectly.

On Windows, however, there might be some more work to do:

1. The Gtk# runtime is NOT working OK... One MUST install GTK# SDK (for the reasons mentioned above for the Registry keys). No amount of Key Fiddling was satisfactory for the runtime... only the SDK allows Tomboy to install.

2. Once installed, it kept crashing on me on 3 Windows machines... I suspected Pidgin with it GTK+ runtime libraries... I uninstalled Pidgin and its associated GTK+ runtime and Tomboy still crashed. So,...

3. I rebuild one of the Windows machine today with SP3. I installed the GTK# SDK and Tomboy and it all works like a charm.

4. Upon re-installing Pidgin back on that fresh install, the GTK+ runtime for Pidgin balked at me and crapped right out!!!

It appears that Windows (or something in its bowels) does not like GTK# and GTK+ being there at the same time (???)

Since Pidgin is pretty much a Standard on Linux and Windows these have to co-habit on Windows. In my case, I installed aMSN until this is resolved.

Thank you very much for your efforts... Much appreciated by an awful lot of people, I'm sure.

Regards,

Michel Coutu

Sandy said...

@Michel: Thanks for looking into this; I was told we might run into problems like that. I've filed a bug about it here:

http://bugzilla.gnome.org/show_bug.cgi?id=558314

Tom said...

Tomboy crashes on startup on Win xp 64. I have filed a bug and a possible workaround here:

http://bugzilla.gnome.org/show_bug.cgi?id=560124

Carlos Linares López said...

Love it! Works smoothly in my Mac box. Thanks so much!!

Robin said...

I get a crash on startup in WinXP. I used the SDK to even get it installed so I do not understand how I could use the Vista instructions.

Anonymous said...

Is it possible to share the notes between the windows installation and the ubuntu-installation? That would give me the TOTAL freedom...

jalcalav said...

Hi, i have installed TomBoy in Windows Vista but it crashes at start-up. I followed the instructions for vista, installed gtksharp-sdk-2.10.4-3 and modified gdk-pixbuf.loaders. I have tested Gtk# running successfully Images Demo. I have restarted my laptop. However it still crashes. Hope you can help me, I wish to use Tomboy but my work requires Windows Vista. Best Regards.

Anonymous said...

Very nice work, I currently use a goodle docs document to have my notes on all my machines. I would love to use Tomboy instead, I've been looking for a nice replacement for a long time. However I have a high-end gaming windows machine at home and I really need the ssh sync for the windows version. Anything new on that part? :)

Anonymous said...

wether I try to install the SDK or the RUNTIME version, I always get this error (winxp):

"There is a problem with this windwos installer package. A script requried fo this install to complete could not be run. Contact your support personnel or package vendor."

I've posted this at medspheres, but don't think this is an actively devolped product? Bummer, I was so hoping to run Tomboy on Windows....

Anonymous said...

Having trouble figuring how to get syncing to work between my iMac and an eee laptop running Ubuntu. I've never synced Tomboy on 2 computers so I don't have much to compare to. But, I used sshfs to mount my home folder on Ubuntu into "~/sshfs/eee" on my mac. I set in preferences the synchronization folder path to "/Users/XXX/sshfs/eee". When I hit synchronize, it makes a big show of syncing up the two and says its completd, but there is no change. My laptop's notes are not on my mac, and my mac's notes are not on my laptop. What am I doing wrong?

Unknown said...

Good job for getting Tomboy up and running on Win! However, I run WinXP SP3 and cannot get Tomboy to work.

I installed GTK# SDK but when I try to launch Tomboy I get the error:

Microsoft Visual C++ Runtime Library [title]

Runtime Error!

Program: C:\...path...\Tomboy.exe

R6034
An application made an attempt to load the C runtime library incorrectly. Please contact eh application's support team for more information.


I do not use any GTK applications so I do not understand what the conflich could be. Anyone? What is R6034?

Thanks,
Martin

Unknown said...

I can't begin to say how grateful I am for this! Way to go!

Aron said...

Sandy, really great job! Excellent!
Based on your experience I'd like to ask you a question: How difficult would it be to port Tomboy to Symbian OS? I recently bought a Nokia mobile phone and couldn't find any decent notes tool. Tomboy would be just perfect!

Anonymous said...

Ok, I'm stuck... using WinXP64 and have the same problem as everybody else with 64bit. Found out that the Bug can be solved with different settings (x86 instead of any), but where can i get this build? or how can i compile it by myself? isn't there a page with additional infos, this blog entry is months old!!

Sandy said...

Okay everybody, there are new builds available. The install instructions are basically the same. See my latest blog post for some info, or you can just go ahead and download here:

http://projects.gnome.org/tomboy/download.html

Anonymous said...

Tomboy is a great tool. I am using it with Ubuntu and Win XP syncing notes on 3-4 different computers. It would be great if the windows version could use the webdav or ssh option for syncing.

Anonymous said...

Seems to be a great and simple tool! I am considering switching from OneNote :) because i want to use a platform independent solution. What keeps me from switching right now is that there isn't webdav support for the windows preview version yet. For this kind of applications synchronization via FTP/Webdav is a very important feature me thinks. Keep up the good work!

Luigi Viggiano said...

Resize bug on OSX is terrible, it makes tomboy almost unusable.

Clark Kent said...

I had Tomboy crashing in Vista (I had installed Novell's gtk-sharp 2.12.10) I run it from the command line and figure out that with not getting the right dlls, the problem was with different gtk directories in the PATH environment variable, so I solved it putting the c:\Program Files\GtkSharp\2.12\bin\ first in the path list at the system level (I hope this will not cause problems with the other apps that use gtk in my Vista box). HTH someone else!

Sandy said...

@Clark Kent: Are you using the latest stable Tomboy installer from http://projects.gnome.org/tomboy/download.html ?

Those path issues should have been fixed a long time ago.