[Pidgin] #16716: Updating UI code for GTK+ 3

Pidgin trac at pidgin.im
Sun Jul 12 15:38:38 EDT 2015

#16716: Updating UI code for GTK+ 3
 Reporter:  mmcco        |      Owner:
     Type:  enhancement  |     Status:  new
Milestone:  3.0.0        |  Component:  pidgin (gtk)
  Version:  3.0.0hg      |   Keywords:
 The main branch currently gets >3,000 deprecation warnings from the GTK+
 code when compiled for GTK+ 3. As mentioned in #16715, it still mostly
 works fine. However, it would probably be good long-term to update the
 code for the GTK+ 3 API. On the other hand, there is some political
 tension related to this - if anyone has concerns, chime in.

 I've already made some updates in my repo that have fixed hundreds of
 deprecation warnings. One of the biggest is updating the alignment calls:

 * https://hg.pidgin.im/soc/2015/mmcc/main/rev/3b91ffef050b
 * https://hg.pidgin.im/soc/2015/mmcc/main/rev/9415ac64b6fa
 * https://hg.pidgin.im/soc/2015/mmcc/main/rev/7a9372afa360

 The other is replacing stock items with named icons, which is covered in

 These changes were generally trivial in terms of reorganization, requiring
 little more than search-and-replace. However, most of the remaining
 deprecation warnings are caused by aspects of icon rendering that demand
 more invasive changes.

 One aspect of this is that our icon directory is very disorganized. You
 can find it `pidgin/pixmaps/` in the codebase and
 `/usr/share/pixmaps/pidgin/` or `/usr/local/share/pixmaps/pidgin/` when
 installed. If we fix the organization to match that expected of GTK icon
 directories, we can simply add Pidgin's icon directory to the GTK icon
 search path.

 Updating the icon rendering code would also break the Pidgin Theme Editor
 plugin non-trivially. Etan said he thinks it would be fine to get rid of.

 Another aspect of this is that some of Pidgin's custom icons now have
 almost identical counterparts in the default GTK set and can therefore be

 I'll stop typing for now. I spent a few days attempting this update and,
 well, it's a messy one. It can probably wait until after the first 3.0

Ticket URL: <https://developer.pidgin.im/ticket/16716>
Pidgin <https://pidgin.im>

More information about the Tracker mailing list