···7677 patches = [
78 ./patches/3.0-immodules.cache.patch
79-80- (fetchpatch {
81- name = "Xft-setting-fallback-compute-DPI-properly.patch";
82- url = "https://bug757142.bugzilla-attachments.gnome.org/attachment.cgi?id=344123";
83- sha256 = "0g6fhqcv8spfy3mfmxpyji93k8d4p4q4fz1v9a1c1cgcwkz41d7p";
84- })
85 ] ++ lib.optionals stdenv.isDarwin [
86 # X11 module requires <gio/gdesktopappinfo.h> which is not installed on Darwin
87 # let’s drop that dependency in similar way to how other parts of the library do it
···7677 patches = [
78 ./patches/3.0-immodules.cache.patch
79+ ./patches/3.0-Xft-setting-fallback-compute-DPI-properly.patch
0000080 ] ++ lib.optionals stdenv.isDarwin [
81 # X11 module requires <gio/gdesktopappinfo.h> which is not installed on Darwin
82 # let’s drop that dependency in similar way to how other parts of the library do it
···1+From 269f2d80ea41cde17612600841fbdc32e99010f5 Mon Sep 17 00:00:00 2001
2+From: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
3+Date: Tue, 24 Jan 2017 12:30:08 +0100
4+Subject: [PATCH] Xft setting fallback: compute DPI properly
5+6+This is a partial revert of bdf0820c501437a2150d8ff0d5340246e713f73f. If
7+the Xft DPI settings are not explicitly set, use the values provided by
8+the X server rather than hard-coding the fallback value of 96.
9+10+While an auto-configured Xorg already reports 96, this value can be
11+overriden by the user, and we should respect the user choice in this
12+case. There is no need to require them to set the same value in
13+different places (the Xorg DPI settings and Xft.dpi).
14+---
15+ gdk/x11/gdkxftdefaults.c | 3 ++-
16+ 1 file changed, 2 insertions(+), 1 deletion(-)
17+18+diff --git a/gdk/x11/gdkxftdefaults.c b/gdk/x11/gdkxftdefaults.c
19+index fa1cfde2ec..c462b78c4b 100644
20+--- a/gdk/x11/gdkxftdefaults.c
21++++ b/gdk/x11/gdkxftdefaults.c
22+@@ -174,7 +174,8 @@ init_xft_settings (GdkScreen *screen)
23+ x11_screen->xft_rgba = FC_RGBA_UNKNOWN;
24+25+ if (!get_double_default (xdisplay, "dpi", &dpi_double))
26+- dpi_double = 96.0;
27++ dpi_double = (DisplayHeight(xdisplay, x11_screen->screen_num)*25.4)/
28++ DisplayHeightMM(xdisplay, x11_screen->screen_num);
29+30+ x11_screen->xft_dpi = (int)(0.5 + PANGO_SCALE * dpi_double);
31+ }
32+--
33+2.11.0.616.gd72966cf44.dirty
34+