- /* TODO: Resize icon */
- gtk_image_set_from_pixbuf(GTK_IMAGE(c->tabicon), pb);
+ if (w > 16 || h > 16)
+ {
+ w_scaled = 16 * gtk_widget_get_scale_factor(c->tabicon);
+ h_scaled = 16 * gtk_widget_get_scale_factor(c->tabicon);
+ pb_scaled = gdk_pixbuf_scale_simple(pb, w_scaled, h_scaled,
+ GDK_INTERP_BILINEAR);
+ gtk_image_set_from_pixbuf(GTK_IMAGE(c->tabicon), pb_scaled);
+ g_object_unref(pb_scaled);
+ }
+ else
+ gtk_image_set_from_pixbuf(GTK_IMAGE(c->tabicon), pb);
+