summaryrefslogtreecommitdiff
path: root/doc/design/assistant/blog/day_51__desktop.mdwn
blob: c079a9a912c8946727a7c4b4b42357390686551c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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.