X-Git-Url: https://git.armaanb.net/?a=blobdiff_plain;f=browser.c;h=b7ff00242ecfcf7818efb1aa730a1928bf1e13ca;hb=0ecc03b289b6be63695b54054417f6c1efa2d1f9;hp=847cf09e3b6651396dfad08bad3dcb92ecdf0950;hpb=813150ab894f92565735ad5b140a41a512fc6264;p=chorizo.git diff --git a/browser.c b/browser.c index 847cf09..b7ff002 100644 --- a/browser.c +++ b/browser.c @@ -245,7 +245,10 @@ client_new(const gchar *uri, WebKitWebView *related_wv, gboolean show) 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); @@ -410,7 +413,7 @@ changed_favicon(GObject *obj, GParamSpec *pspec, gpointer data) { struct Client *c = (struct Client *)data; cairo_surface_t *f; - int w, h, w_scaled, h_scaled; + int w, h, w_should, h_should; GdkPixbuf *pb, *pb_scaled; f = webkit_web_view_get_favicon(WEBKIT_WEB_VIEW(c->web_view)); @@ -421,18 +424,13 @@ changed_favicon(GObject *obj, GParamSpec *pspec, gpointer data) pb = gdk_pixbuf_get_from_surface(f, 0, 0, w, h); if (pb != NULL) { - 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); + 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); } }