Archive for October, 2005

Epiphany Bookmarks

Sunday, October 23rd, 2005

There seems to be some confusion over the new style epiphany bookmarks, they are not hierarchical in the traditional sense, and are still based on tagging bookmarks in topics. What is new however is that the menu will automagically generate a hierarchy based on the topics selected.

The code has been maintained by Peter Harvey for a while now, and he has an excellent page explaining it.

Breezy and Nokia 770

Friday, October 21st, 2005

My Nokia 770 arrived on Thursday, and it is a brillant product. It works wonderfully, although I had a bit of ‘fun’ getting it talking over a WEP encrypted ad-hoc network to my laptop at work (and then using windows’s connection sharing to get the internet).

The most annoying thing I have run across so far is an incompatibility between breezy and the usb connection. Basically there is a patch in the breezy hal that makes gnome-vfs always try and eject USB devices, however the Nokia 770 doesn’t like that and nautilus brings up an error dialog when you unmount it.

To fix this, you can put the following in /usr/share/hal/fdi/policy/10osvendor/20-nokia770.fdi

<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
  <!-- Don't eject the Nokia 770 -->
  <device>
    <match key="info.category" string="storage">
      <match key="storage.bus" string="usb">
	<match key="storage.model" string="770">
          <merge key="storage.requires_eject" type="bool">false</merge>
        </match>
      </match>
    </match>
  </device>
</deviceinfo>

(I’ve raised a bug about this).

The wait is almost over!

Tuesday, October 18th, 2005

Finally after months of waiting, I got my Nokia 770 developer code today, and have put the order in, so hopefully in 2-3 days I should have one of these devices. The timing is excellent as it fits in with the end of my current project at work, so I should have loads of time to hack the thing :-)

Congrats to tko and the rest of the Nokia crew for getting the thing out.

Mono Extensions for Epiphany

Monday, October 10th, 2005

I attempted to demo Mono extensions at the summit, but it seems that I really hate public speaking, and went through everything way too fast.

Basically, Epiphany has extensions, which at the moment can be written
in either python of C. It can also dynamically load new ‘loaders’
which can implement support for other types of plugins. I have now written a loader for Mono extensions. An example extension is:

using Epiphany

namespace Example
{
   public class Plugin : EphyExtension {

   public override void DetachTab (EphyWindow window, EphyTab tab)
   {
      System.Console.WriteLine ("Mono Extension: Detach tab");
   }

   public override void AttachTab (EphyWindow window, EphyTab tab)
   {
      System.Console.WriteLine ("Mono Extension: Attach tab");
   }

   public override void DetachWindow (EphyWindow window)
   {
      System.Console.WriteLine ("Mono Extension: Detach window");
   }

   public override void AttachWindow (EphyWindow window)
   {
      System.Console.WriteLine ("Mono Extension: Attach window");
   }
}

These 4 functions are the callbacks from epiphany to the
extension. Using these, you can insert menu items, and basically do
anything other types of extensions can do. The entire Epiphany public
API is exposed, allowing you to do complex things.

What I tried to demo was a simple plugin that added a menu item that
simply loaded the web page when it was clicked on. This has caused me
all sorts of headaches as the documentation for calling mono from C is
almost non-existent. Miguel has promised to send me what they have
got, so I’ll take a look at that.

There are still some problems with the reference counting, and I think
there may be some memory leaks, but those sort of details can be
sorted out later. In the meantime, you can use the epiphany-mono
module in GNOME CVS to try (and write) the mono extensions.