GtkIconTheme support for Meld



Hi all,

I've recently been working on moving Meld from its existing
own-directory-only mode for handling pixmaps to use GtkIconTheme. This
is pretty much necessary for some gtk+ widgets, which really want to
be given named icons. Eventually, it could lead to having themeable
application-specific icons
(http://live.gnome.org/ThemableAppSpecificIcons) though this is not
ready yet.

In order to use themed icons, but retain things like the 'this file is
newer' mark and the file colour-coding, I've moved to using cairo to
dynamically create tinted icons from the stock theme, and reworked the
EmblemCellRenderer to use stock icons in a more emblem-y fashion. The
code also hooks up to theme switching, so if you change your icon
theme, icons in Meld's tree view, etc. should update on-the-fly.

In summary, the current patch includes:
* Slightly better sizing support
* Usage of theme-derived icons, and support for dynamic theme changes
* Port to GtkAboutDialog

There is still some clean-up to be done, but I think this is almost
ready for merge... *if* people like the result. There is also the
issue of portability (does this work on Windows?) and providing
fallback icons. Also, the VC icon needs to be redrawn, and a custom
emblem for 'newer' might be a good idea.

You can find more details, a screenshot, the monolithic version of the
patch, and a downloadable tarball for testing here:

   http://ramshacklecode.googlepages.com/meldiconthemesupport

I'll try and get around to putting up split patches for the 'just the
icontheme port' and 'compositing onto stock icons' parts eventually.
If anyone would like to see this, ping me and I'll get it done faster.

Any feedback--including that the compositing stuff is ugly, doesn't
work with your theme, or that everything in general is a really bad
idea--is welcomed. In particular, I'd love it if anyone running on
unusual configurations (including Windows, etc.) would let me know
about breakage or lack thereof.

Kai


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]