about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/gtk/patches/3.0-Xft-setting-fallback-compute-DPI-properly.patch
blob: 247dd3ea8456803a0505962fb76065f1c0c110e8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
From 269f2d80ea41cde17612600841fbdc32e99010f5 Mon Sep 17 00:00:00 2001
From: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Date: Tue, 24 Jan 2017 12:30:08 +0100
Subject: [PATCH] Xft setting fallback: compute DPI properly

This is a partial revert of bdf0820c501437a2150d8ff0d5340246e713f73f. If
the Xft DPI settings are not explicitly set, use the values provided by
the X server rather than hard-coding the fallback value of 96.

While an auto-configured Xorg already reports 96, this value can be
overriden by the user, and we should respect the user choice in this
case. There is no need to require them to set the same value in
different places (the Xorg DPI settings and Xft.dpi).
---
 gdk/x11/gdkxftdefaults.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gdk/x11/gdkxftdefaults.c b/gdk/x11/gdkxftdefaults.c
index fa1cfde2ec..c462b78c4b 100644
--- a/gdk/x11/gdkxftdefaults.c
+++ b/gdk/x11/gdkxftdefaults.c
@@ -174,7 +174,8 @@ init_xft_settings (GdkScreen *screen)
     x11_screen->xft_rgba = FC_RGBA_UNKNOWN;
 
   if (!get_double_default (xdisplay, "dpi", &dpi_double))
-    dpi_double = 96.0;
+    dpi_double = (DisplayHeight(xdisplay, x11_screen->screen_num)*25.4)/
+		    DisplayHeightMM(xdisplay, x11_screen->screen_num);
 
   x11_screen->xft_dpi = (int)(0.5 + PANGO_SCALE * dpi_double);
 }
-- 
2.11.0.616.gd72966cf44.dirty