def applet_set_full_icon(self, pixbuf): size = self.get_size() icon = IconFactory().load_icon(self.config['icon_full'], size) if self.config['composite_icon'] \ and isinstance(icon, gtk.gdk.Pixbuf) \ and isinstance(pixbuf, gtk.gdk.Pixbuf): pixbuf = IconFactory().scale_to_bounded(pixbuf, 0.9 * size) cx = (size-pixbuf.get_width())/2 cy = (size-pixbuf.get_height())/2 trans = gdk.Pixbuf( pixbuf.get_colorspace(), True, pixbuf.get_bits_per_sample(), size, size) trans.fill(0x00000000) pixbuf.composite( trans, cx, cy, pixbuf.get_width(), pixbuf.get_height(), cx, cy, 1, 1, gtk.gdk.INTERP_BILINEAR, 255) icon.composite( trans, 0,0, size, size, 0, 0, 1, 1, gtk.gdk.INTERP_BILINEAR, 255) icon = trans if icon: self.set_icon_pixbuf(icon)