Older blog entries for snorp (starting at number 6)


Ok, so using a property on the root window for notification was a bad idea. I switched it back to file monitoring. It works ok, I guess (found a workaround for the multiple notification thing). I have updated the spec finally, and also committed my current code to libegg. I suppose the next step is to get people to use it so we can see what kind of API problems and bugs they run into.

One thing I would like to add to the recent-files stuff is the ability to have the icon associated with the mime-type of the file appear in menus. What I really want is to be able to get the themed icon that nautilus uses, but that doesn't look to be possible without copy/pasting a large portion of nautilus. Supposedly, Seth has some metadata API to add to gnome-vfs that will include this stuff. So, I guess I will have to wait.

Sadly, no gedit hacking lately. I should do some tonight. I have some bugs to fix in the BonoboObject interfaces.

While I was poking around in libegg, I looked at andersca's fileselector/filesystem stuff. Most of it seemed pretty straight-forward to me. I quickly banged out a gnome-vfs filesystem object and it seemed to work well. The new file selector is going to kick ass.

Oh yeah, I also hacked together a patch to add a "Recent Documents" menu into the panel. Of course, the test apps are the only thing that put stuff in there now, so it is not terribly useful.

More progress in gnome-recent, albeit slow. I implemented a semi-non-broken notification mechanism. Previously, it was just monitoring the file with gnome-vfs, but that sucked since I was getting two notifications per single change (truncate, write). Not good if you have a big list. Now, I just use a PropertyChange X event on the root window for notification. It works well, but the bad part is, GnomeRecentModel now requires an X connection, and depends on gdk. Sigh. Maybe it will end up being ok though. Also, I thought about adding some API that allows filtering the list based on URI scheme. This would allow you to see only the recent mails sent, or only the recently used ftp servers, etc. Maybe that would be useful.


I am finished with school for this summer session. I am pretty happy, since for once I got decent grades. Only a brief respite though until the 18 credit hour marathon I have coming up in september.........I can't wait to graduate.


I've added a semi-cool feature to gedit that's similar (if not identical) to the "bookmark" feature in TextPad (I think kate also has it). I developed a healthy hatred for the GtkTextView API for drawing stuff in the borders in the process. I am not totally sure what I would do to improve it, but if you want to have any flexibility in the stuff you draw in the border, the current API is difficult to use. I need to find a way to make it better so plugins can put stuff in the border too. I had a mega-crack idea for a feature in gedit: vi key bindings. I'm not sure how far I would take it though (probably just the very basic editing features), and I'm not even sure I would use it. I actually don't use gedit that much at all, since it doesn't do syntax highlighting or auto-indent yet (but it will soon!!)

My gnome-recent stuff is coming along well lately too. I've updated the recent-file spec to use an XML document for storage, so I'll be submitting that to the freedesktop.org guys again soon. Hopefully some more people will comment on it this time. One of my key concerns right now is performance. If the list gets to be really large (like > 1000 items), it takes a while (almost 0.5 secs) to do inserts. Reading the list is almost as bad. I would like to use a separate thread for this part of it to avoid blocking the GUI, but I haven't yet found a way to use threads in GTK without totally horking things. I am obviously doing something wrong.


Lots of stuff happening lately. I got some great comments about gnome-recent on mailing lists, and it was suggested that we create a standard that all desktops use to store this kind of stuff. I think this is good idea, and I hope we can get the KDE folks and others onboard for this. Not that having a standardized list of recently used files is such a huge priority, but it has kind of fallen in my lap and I want to see it through. I've written a preliminary specification . I'm going to mull it over some more though before sending it to xdg-list. I have also converted gnome-recent to adhere to this spec, as both a proof of concept and "lead by example" sort of thing.

Sadly, I've been neglecting gedit stuff still. Paolo notified me of several bugs that were my fault. I fixed some of them, but others are still left. Sigh. Basically, I need to be a lot more careful about screwing around with text - like converting to/from UTF-8 when needed.


I saw a few messages on mailing lists about the file selector for 2.2. I think a lot of people want to offer opinions and/or hack on it, but for some reason no one has said "I'm doing the file selector." Consequently, I think we will have like 900 implementations floating around with different APIs and features. How many of you have been secretly coding on a file selector? I hope someone steps up. BTW, I happen to think that gnome-recent would work well for storing bookmarks :). That reminds me. I've mailed andersca at least three times now in the last 6 months about getting gnome-recent into libgnomeui, but have never received a reply. I mean, if he's busy, that's alright....but what does a guy have to do?

I did some gedit hacking last week. Fixing some bugs here and there. Paolo bounced a couple of my patches though (more than once!). I really need to be more thorough.....


Philosophy has turned out to be kind of interesting. We are reading "Phaedrus", by Plato. It's hard stuff to read (for me, at least).


So apparently 2.0 is about ready to be released. I've been using recent CVS since about December, and it has really come along. Congrats to all the GNOME developers, testers, translators, and users! Hopefully after 2.0.1 or so we can add some really cool features for 2.2. One of the things I want to do is try to get my gnome-recent stuff into a platform library. It is a replacement for the old gnome-history API that was in libgnome (it keeps track of recently used files). Maybe my stuff sucks, but it's at least better than all the apps doing their own thing.

There was recently a thread on mailing lists about remembering window sizing/positioning and who's responsibility it is (WM, or app). For some reason I was under the impression that if the app was session managed, then the WM would be able to restore the window sizes/positions within the same session (app is closed, then restarted). Apparently this is not true. It seems odd that app authors have to implement a whole pile of stuff just to restore the apps' state over login/logout, and an entirely different pile of stuff to restore state over consecutive instances. Oh well.


The first summer session is over, and second summer session started today. I'm taking philosophy and a business class. I've never had a philosophy class before so maybe I'll like it.

So, I wonder if I will actually end up maintaining this diary. I've never kept one before, but maybe it's a good idea.

I have finals for my first summer session classes tomorrow. Suckage.

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!