Now installing git-annex automatically generates a freedesktop.org .desktop file, and installs it, either system-wide (root) or locally (user). So Menu -> Internet -> Git Annex will start up the web app.

(I don't entirely like putting it on the Internet menu, but the Accessories menu is not any better (and much more crowded here), and there's really no menu where it entirely fits.)

I generated that file by writing a generic library to deal with freedesktop.org desktop files and locations. Which seemed like overkill at the time, but then I found myself continuing to use that library. Funny how that happens.

So, there's also another .desktop file that's used to autostart the git-annex assistant daemon when the user logs into the desktop.

This even works when git-annex is installed to the ugly non-PATH location .cabal/bin/git-annex by Cabal! To make that work, it records the path the binary is at to a freedesktop.org data file, at install time.


That should all work in Gnome, KDE, XFCE, etc. Not Mac OSX I'm guessing...


Also today, I added a sidebar notification when the assistant notices new files. To make that work well, I implemented merging of related sidebar action notifications, so the effect is that there's one notification that collectes a list of recently added files, and transient notifications that show up if a really big file is taking a while to checksum.

I'm pleased that the notification interface is at a point where I was able to implement all that, entirely in pure functional code.