Archives for: April 2008, 24

24 April, 2008

Permalink 10:27 UTC, by Josh Saddler Email , 347 words, 240 views   English (US)
Categories: Gentoo

Porting progress

Well, my efforts to port Drivel to the newer gtk+ functions and away from deprecated libegg stuff aren't going well, despite my earlier hopes.

Spent a couple of hours tackling the issues mentioned in the libegg bug. Fortunately, two of them are moot: Drivel doesn't seem to use EggCellRendererKeys or EggAccelerator anymore. The EggRecent -> GtkRecent change seemed to be extremely widespread, so I instead took a stab at porting Drivel over to GtkStatusIcon, instead of the old EggTrayIcon stuff.

Not looking so good. I thought I'd switched over everything as per the documentation, but I got compile errors: libegg/eggtrayicon.c, line 79 or thereabouts. Apparently everything was being used for the first time without being declared somewhere? Oops. I went ahead and wiped the Portage tempfiles and all my work thus far. If I go back to it, I want to start fresh.

Part of the problem was that I just couldn't find any documentation on whether or not a given bit of old libegg code was present in gtk+, or what it was called. Another problem was there was libegg cruft all over the place. It's got its tentacles everywhere; I've no idea how to entirely clean it out. Can new gtk+ code be used with old, outdated libegg bits? Where's the documentation for it? Etc.

So even thought it looked like I'd correctly changed EggTrayIcon to GtkStatusIcon, moved all the egg_tray_icon_foo bits to gtk_status_icon_foo, and remembered to change *icon to *status_icon (and a few other things), it just wasn't enough. The compile process mostly seemed to choke on renamed gtk_status_foo_init lines. Maybe I should have left those as egg_whatever_init? I may never know.

It's my first real shot at trying to clean up code that isn't a markup language. Markup languages I know. Programming, not so much. It's educational all the same, I'm sure. Gosh, just think about how fun porting Drivel to GIO will be.

I still aim to continue improving Drivel for Gentoo users somehow. :)

Sometimes you swing, sometimes you miss.

Josh Saddler

The journal of Josh Saddler (nightmorph), a documentation developer.

April 2008
Mon Tue Wed Thu Fri Sat Sun
<< < Current > 
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        

Search

Categories

Misc

XML Feeds

What is RSS?

Who's Online?

  • Guest Users: 64

powered by
b2evolution