Add gdk-pixbuf as a libpurple dependency and move helpers from pidgin to purple
Review Request #1224 — Created Jan. 14, 2022 and updated
Adding gdk-pixbuf as a dependency to libpurple is kind of questionable, but it's dependencies are really just libpng, libjpeg, and libtiff. In other words, nothing UI specific. Which means we can remove a bunch of API with this change which is awesome.
This is the first step in replacing
GdkPixbuf. Which will also eventually include
PurpleBuddyIconand remove the need for
PurpleBuddyIconSpecas protocol plugins will just be able to scale and format images themselves.
- Renamed all function from
purplegdkpixbuf.[ch]to be in the purple_gdk_pixbuf namespace
- Removed all unused function from
Ran and verified that an animated buddy icon was still displayed properly in the infopane and the buddy list.
I know in the past, bitlbee users weren't happy that we were downloading profile pictures (buddy icons) as well as custom emjoi. We could add an option to
PurpleUiInfothat says it can use images, and then everything could check that to avoid that scenario. If doing that along, we'd already recoup of all of the disk space (see below) that adding
Some more break down of how it'd affect bitlbee installs on debian using purple2 as the test case.
Sizes are in 1k blocks, so 157680 is ~154mb
base: 157680 bitlbee: 216452 bitlbee+gdkpixbuf: 222388 bitlbee-purple *: 363860 bitlbee-purple+gdkpixbuf *: 369796 * --no-install-recommends