From f2f811ccc347f22adbd2fd65bfe26244e1163944 Mon Sep 17 00:00:00 2001 From: Marc Seeger <mseeger@fb.com> Date: Fri, 13 Aug 2021 13:51:48 -0700 Subject: [PATCH] gtk3: replace bugzilla patch with local file. --- pkgs/development/libraries/gtk/3.x.nix | 7 +--- ...etting-fallback-compute-DPI-properly.patch | 34 +++++++++++++++++++ 2 files changed, 35 insertions(+), 6 deletions(-) create mode 100644 pkgs/development/libraries/gtk/patches/3.0-Xft-setting-fallback-compute-DPI-properly.patch diff --git a/pkgs/development/libraries/gtk/3.x.nix b/pkgs/development/libraries/gtk/3.x.nix index 01b98d06bf30..7999d62b9112 100644 --- a/pkgs/development/libraries/gtk/3.x.nix +++ b/pkgs/development/libraries/gtk/3.x.nix @@ -76,12 +76,7 @@ stdenv.mkDerivation rec { patches = [ ./patches/3.0-immodules.cache.patch - - (fetchpatch { - name = "Xft-setting-fallback-compute-DPI-properly.patch"; - url = "https://bug757142.bugzilla-attachments.gnome.org/attachment.cgi?id=344123"; - sha256 = "0g6fhqcv8spfy3mfmxpyji93k8d4p4q4fz1v9a1c1cgcwkz41d7p"; - }) + ./patches/3.0-Xft-setting-fallback-compute-DPI-properly.patch ] ++ lib.optionals stdenv.isDarwin [ # X11 module requires <gio/gdesktopappinfo.h> which is not installed on Darwin # let’s drop that dependency in similar way to how other parts of the library do it diff --git a/pkgs/development/libraries/gtk/patches/3.0-Xft-setting-fallback-compute-DPI-properly.patch b/pkgs/development/libraries/gtk/patches/3.0-Xft-setting-fallback-compute-DPI-properly.patch new file mode 100644 index 000000000000..247dd3ea8456 --- /dev/null +++ b/pkgs/development/libraries/gtk/patches/3.0-Xft-setting-fallback-compute-DPI-properly.patch @@ -0,0 +1,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 +