Archive for April, 2005

Epiphany RSS extension

Sunday, April 17th, 2005

Well, another update

This one allows to directly subscribe to a feed when right clicking on it’s link in the page (feature asked by “nud” on IRC)

Beside that I started looking at the epiphany-mono package, to allow mono extensions be easily written for epiphany, the binding is quite complete, but very buggy at the moment, so i’ll help fixing that eventually.

It can be fetched from the gnome cvs:
cvs -d :pserver:anonymous@anoncvs.gnome.org:/cvs/gnome co epiphany-mono

Then the extension itself is something like:

using System;
using Gtk;
using Epiphany;

namespace EphyRssExtension {
	public class RssExtension : GLib.Object, EphyExtension {
		private Hashtable feeds = new Hashtable();

		public RssExtension () : base (IntPtr.Zero) {
			Console.WriteLine ("New EphyRss Extension");
		}

		public void AttachWindow (EphyWindow window)
		{
		    Console.WriteLine ("EphyWindow Attached");
		    //Do anything you like with he window
		}

		public void DetachWindow (EphyWindow window)
		{
			Console.WriteLine ("EphyWindow Detached");
		       //Do anything you like when the window is discarded
		}

		public void DetachTab (EphyWindow window, EphyTab tab)
		{
		    System.Console.WriteLine ("Detach tab");

		    feeds.Remove(tab.Embed);
		    tab.Embed.GeFeedLink -= OnFeedReceived;
		    tab.Embed.GeContentChange -= OnContentChange;
		}

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

		    feeds[tab.Embed] = new ArrayList();
		    tab.Embed.GeFeedLink += OnFeedReceived;
		    tab.Embed.GeContentChange += OnContentChange;
		}

		private void OnFeedReceived (object o, GeFeedLinkArgs args)
		{
			Console.WriteLine ("Feed {0}: '{1}' @ {2}",
                                                args.Type, args.Title, args.Address);
			IList l = feeds[o] as IList;

			Feed f = new Feed();
			f.Title = args.Title;
			f.Type = args.Type;
			f.Address = args.Address;

			l.Add(f);
		}

		private void OnContentChange  (object obj, EventArgs args)
		{
			(feeds[obj] as IList).Clear ();
		}

		private struct Feed {
			public string Title;
			public string Type;
			public string Address;
		}
	}
}

Which does pretty much nothing except that it stores in a hashtable the feeds corresponding to each opened tabs. It requires now little effort to make a nice gtk UI, like a dialog or integrating menu items or statusbar icons in epiphany via the GtkUiManager.

Tomboy reminder plugin

Monday, April 11th, 2005

This plugin seems to match the needs of many people ad i always get mails from happy users suggesting things or giving some code.

I released the 0.5 version, which adds time handling !

So you can write somthing like
! 23 april at 3pm
or
! 11 avril a 23:30

Very useful 😉

Now it’s time to study some mozart/oz for the university..

Epiphany rss-extension

Monday, April 11th, 2005

The extension finally made it into cvs, you can get it by getting a fresh checkout of the epiphany-extensions module on gnome cvs servers.

Last night I also added a context menu on the list of feeds to copy the feed address in clipboard, and allwed to drage the feed in any text entry to get the url too.

Beside that i made a little extension called “file-watch” to will reload a page, if this is a local page and it is modifed, very practical if you develop web-pages locally, just save it in your editor, and epiphany will refredh the view automatically !

Available here
This might well be transformed in the core epiphany package instead of an extension.

Muine Random play

Saturday, April 9th, 2005

I love muine !
When I want to listen to some good music, I fire up muine, then click on the Add Album button. Now what album to choose ? Every time it’s the same thing I just can’t choose an album and play it. I decided to fix that by adding a Random button that will just select and queue for me a random album !

What a pleasure to just let the random magic do its work.

Here is what it looks like
Muine queue random button
Click on random, a random album/song is queued in the playlist and the window stays open so you can click two or three times to have two or three random albums/songs queued.

The patch on the gnome bugzilla

Epiphany hacking

Wednesday, April 6th, 2005

These days I have been hacking on an epiphany extension poetically called “rss”.
It allows to retreive feeds in any page, and register these feeds in your favorite feed reader (so it’s not a firefox-like handling of rss feeds) !

All this can be accomplished using dbus, patching popular feed readers such as straw, liferea or blam (i did that, the patches can be found in their respective bugzillas). I had to patch epiphany and epiphany-extensions, so it is quite bleeding-edge to test.

Here is a screenshot of the thing:
mozilla.org feeds
Mozilla.org feeds, notice the statusbar icons..

a random blog feeds
A random blog feeds, notice that noth atom AND rss are selected, by default rss are selected before atom ones.

The feeds are selected “intelligently” so normally blogs that have atom/rss versions only have one of the two selected, while sites providing more feeds are selected entirely.

To signal that feeds are present, a little icon appears in the status bar, and a menu entry appears to make the dialog appear.