Projects - Dashboard
[ Home
| About Me
| Pictures
| Projects
| WebMail
]
I've started playing with Dashboard.
Dashboard is an association engine which pops up information which is
hopefully relevant to what you're currently doing. See the link above for
a more indpeth description and some pretty screenshots. This page isn't
intended to rave about Dashboard, it's intended to make some of my
modifications easier to get.
Interesting links:
Press articles:
I've been hacking on Dashboard a little bit, here are some of my patches...
To apply these patches by hand you, go into the root directory of the copy
of Dashboard you've checked out of CVS and run:
patch -p0 < <patch file>
I no longer have a tarball here. All my patches against Dashboard are in
CVS, or go straight into CVS now.
Thoughts on D-Bus
Well, there's a new IPC mechanism on the block called D-Bus. Could be a possibility
for the IPC between frontends and Dashboard. It has Mono bindings.
The new API is now available. Perhaps wait for the Dashboard 0.2 release
before looking at using D-Bus?
Although using TCP still has the benefit that we can run frontends on
other computers.
Not in CVS
Epiphany
Here's a patch for
Epiphany v1.0.1 also applies cleanly to 1.0.3. To make it work against the
Debian package just drop it
in debian/patches and run dpkg-buildpackage.
The frontend patch to Epiphany has now been converted to a plugin. At this
stage you need the ephyplugins package from the CVS repository on the
Savannah
Project Page. It still requires applying a patch to Epiphany and
recompiling it though.
Evolution
The Evolution patches are against CVS from July and don't apply cleanly
against 1.4.5. My modified
backend
patch and front end
patches do apply cleanly. I've renegerated these patches (2003/12/06) so
they should be easier to use.
Only catch is I still get ebook hanging as Nat mentioned on the mailing list
the other month.
It is also necessary to create a file called im.png in the art directory.
I'm using gaim.png from Gaim
(kudos to the Gaim author, cool icon). If you have Gaim installed it
may be in /usr/share/pixmaps/gaim.png (on Debian at least) if you don't
grab it from here.
If you're using Debian sid then apt-get the source for Evolution and drop the
patches into debian/patches and do:
debian/rules configure
debian/rules binary
Or you can use dpkg-buildpackage. I used to have problems with this, but
it seems to work for me now.
YMMV with other distribution source packages. You will at least need
to run autogen.sh to rebuild the Makefiles. Very important.
SearchSniff
I modified Wade Mealing's SearchSniff
backend a little bit. It's kinda cool, it sniffs the ethernet looking for
packets going to Google or Freshmeat and generates CluePackets from them.
It is currently written to only look at traffic going to or from your
machine.
In Official CVS
The following patches have now been applied to Nat's CVS tree
Bug fixes
match-filter.cs has a small problem where if two results come back from
two different backends for the same CluePacket the display is cleared
between the two. Hence only the last result is displayed. This
patch fixes it.
backend-rss.cs puts in a link for each news item in a RSS file, even
if there isn't a link. This patch
fixes that.
Cluepackets have the following problems which are solved in this
The patch is patch.
- Make sure that a CluePacket never contains empty Clues. Done.
- Make sure that a CluePacket never contains duplicate Clues. Done.
- Check and make sure correctly that the CluePacket we're looking at
isn't the same as the last one. The code initally used the standard
equality operator. This isn't quite right as it checks to see if the
two objects are the same instance. We want to see if the two
objects contain the same data. Done.
2003/11/10: gui.cs will display the same snippet twice, I've fixed that in this
patch.
2003/11/10: backend-addressbook.cs will try and generate HTML with an empty
card at times which throws an exception. This patch will fix this.
CVS gtk-sharp
Gnome.HTML is now in a different DLL. Apply this patch to add the DLL where it's required.
Documents backend
Something or other has changed in Mono 0.28 which means that the use of
Gnome.Icon.LookupByURI in backend-documents.cs doesn't work
anymore. I've found a work around to make this work. It's really ugly.
It consists of compiling in engine/gnome.cs. It'd be much nicer to generate
a DLL, but oh well. The patch is here.
Epiphany
I've fixed up the icon overlaying in the Epiphany bookmarks backend.
My patch does several
things:
- Fixes an array off by one error (so http was being returned as ttp).
- Epiphany frontend appears to return "Web Browser" not "Epiphany Web
Browser".
- Make the scaling of the favicon.ico and favicon.png files to 16x16
work by using SimpleScale. Much easier than calculating the ratio,
which I was a tad concerned might have been necessary.
- Instead of storing the generated files as favicon.ico, use the
filename of the orignal file.
- Store temp files in $HOME/.dashboard/tmp instead of /tmp.
Gaim Log's
This patch causes Gaim's backend
to generate files that end in .html so MIME stuff works better. It also does
a search and replace sticking <br>'s on the ends of log lines. Which
makes the logs much nicer to read..