Hi!
I have based my port on gaim's SVN trunk as of a few weeks ago. I
maintain a set of patches against the trunk. Everything is in a Debian
repository at
http://idefix.go-nix.ca/nix/gaim-dist
or
deb http://idefix.fo-nix.ca/nix/gaim-dist /
in Debian sources.list parlance.
I have tried my utmost to make my modifications non-destructive. That
is, gaim should build and behave everywhere just as before even with the
patches applied.
Here's what I've done so far:
Patch 000:
- Add --enable-hildon configure flag, that adds
- Hildon CFLAGS and LIBS
- USE_HILDON preprocessor switch (to allow non-destructive code mods)
- USE_HILDON Makefile conditional (to allow non-destructive build
mods)
- Modify default install path for gaim's icon and .desktop file to suit
Hildon desktop conventions
- Move hildon.desktop.in to hildon.desktop.in.in, because it now
contains an AC_SUBST variable, in addition to being subject to the
libintl rule for .desktop files. Of course, I have added it to
AC_OUTPUT to compensate for the extra .in and to perform the
substitution
Patch 010:
- Turn gaim's toplevel windows from GtkWindow objects to HildonWindow
objects, and set their wmclass names and classes to "gaim" (this
causes the desktop to recognize them as belonging to the same group)
- Remove all menu bars and turn them into GtkMenu objects
- Remove typing notification icon that is normally packed next to the
menu bar
- Set/unset urgency hint on conversation windows
Patch 020:
- Add tap-and-hold support to buddy list (in lieu of right-click)
- Move "Quit" from "Buddies" to "/" (since main menu is now a GtkMenu)
- Double-left click issues "row-activated" (should happen by itself)
Patch 030:
- Pack contents of notebook tabs into GtkScrolledWindow objects,
because there are too many widgets to fit on the small screen - for
both the preferences dialog, as well as the account details dialog
Patch 040:
- Get sound working by building a Gstreamer pipeline manually, rather
than using "playbin". Here's the pipeline:
gnomevfssrc location=file://%s ! wavparse ! audioconvert ! dsppcmsink
currently, this ignores the volume setting
Unfortunately, I am still not very familiar with the codebase, so I'm
running into some problems that I'm hoping to find the solution to on
this list.
I have noticed that the tree view widgets in Gaim do not behave
particularly well:
- Buddy list row-activated does not seem to happen
- When I collapse a group of buddies in the buddy list and I click on
the group heading, it briefly uncollapses but then recollapses the
group. The opposite also happens if the group is initially collapsed
- Repeated single-left-clicking on an idle buddy causes the text to be
painted gray (non-theme colour) - that is, the row hilight remains,
but the text is painted as though the entry were not hilighted
- Check boxes in the list of sound events do not reflect the state of
the underlying GtkTreeModel
Another strange thing I've noticed is that combo boxes in the
preferences dialog are rendered particularly badly rendered.
I will try to hack on these problems some more and hopefully get gaim up
to par on Internet tablets as well.
If anybody is interested in helping, please let me know!
Thanks for your attention,
Gabriel
|