6 Jan 2004 Jimbob   » (Journeyer)

I have been working on (read as: rewriting large sections of) GnomeChat, though not committing my work to CVS, because it doesn't build yet. This brings me to GConf Hint #1:

When trying to keep your app's GConf code in a centralized place, the nicest way is to create a GObject, with properties which are mapped to GConf keys (I use a static GHashTable, with key/property names), and only have to deal with all that GConf housekeeping (like the notification functions) in one place. Then, from your app's code, simply get an instance of this proxy object and connect to the "notify::prop-name" signal. This is basically a GConf-wrapping version of GtkSettings.

This kind of thing is what I've been doing, cutting down on the sheer size of the functions which exist inside GnomeChat.

I've also been rewriting things to use the "objectification" branch of libgircclient, which handles channels, queries, and users as GObjects. This means rewriting the chatbox (viewer/entry/userlist/topic), viewer, userlist, and connection stuff. I'm also working on porting things over to GTK+ 2.4's APIs. Finally, I'm trying to figure out a nice way to handle only keeping the RDF stuff in memory when it's being used -- which may require *another* rewrite away from the current GtkTreeModel impl -- ugh.

GNetwork Library
However, keeping me from working full-time on GnomeChat is the GNetwork Library, the rewritten version of LibGTcpSocket. It's proposed for GNOME 2.6, and the plan is to have the gnome-network module/package/app suite use it.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!