gtk_label_set_ellipsize(GTK_LABEL(c->tablabel), PANGO_ELLIPSIZE_END);
gtk_label_set_width_chars(GTK_LABEL(c->tablabel), tab_width_chars);
- tabbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
+ /* XXX I don't own a HiDPI screen, so I don't know if scale_factor
+ * does the right thing. */
+ tabbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL,
+ 5 * gtk_widget_get_scale_factor(mw.win));
gtk_box_pack_start(GTK_BOX(tabbox), c->tabicon, FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(tabbox), c->tablabel, TRUE, TRUE, 0);
{
struct Client *c = (struct Client *)data;
cairo_surface_t *f;
- int w, h;
- GdkPixbuf *pb;
+ int w, h, w_should, h_should;
+ GdkPixbuf *pb, *pb_scaled;
f = webkit_web_view_get_favicon(WEBKIT_WEB_VIEW(c->web_view));
if (f != NULL)
pb = gdk_pixbuf_get_from_surface(f, 0, 0, w, h);
if (pb != NULL)
{
- /* TODO: Resize icon */
- gtk_image_set_from_pixbuf(GTK_IMAGE(c->tabicon), pb);
+ w_should = 16 * gtk_widget_get_scale_factor(c->tabicon);
+ h_should = 16 * gtk_widget_get_scale_factor(c->tabicon);
+ pb_scaled = gdk_pixbuf_scale_simple(pb, w_should, h_should,
+ GDK_INTERP_BILINEAR);
+ gtk_image_set_from_pixbuf(GTK_IMAGE(c->tabicon), pb_scaled);
+
+ g_object_unref(pb_scaled);
g_object_unref(pb);
}
}