From e0ef5638859e8619da33cf4c4fd9eea2326a209b Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 12 Dec 2017 23:47:42 +0530 Subject: [PATCH] Use glfw primary monitor content scale for logical DPI on macOS as well It gives the correct DPI value on a MacBook Air monitor, while physical DPI is too high, leading to overlarge fonts. --- kitty/utils.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/kitty/utils.py b/kitty/utils.py index 81c976ef0..75ec410d4 100644 --- a/kitty/utils.py +++ b/kitty/utils.py @@ -78,13 +78,10 @@ def get_logical_dpi(override_dpi=None): if override_dpi is not None: get_logical_dpi.ans = override_dpi if not hasattr(get_logical_dpi, 'ans'): - if is_macos: - # TODO: Investigate if this needs a different implementation on OS X - get_logical_dpi.ans = glfw_get_physical_dpi() - else: - xscale, yscale = glfw_primary_monitor_content_scale() - xdpi, ydpi = xscale * 96.0, yscale * 96.0 - get_logical_dpi.ans = xdpi, ydpi + factor = 72.0 if is_macos else 96.0 + xscale, yscale = glfw_primary_monitor_content_scale() + xdpi, ydpi = xscale * factor, yscale * factor + get_logical_dpi.ans = xdpi, ydpi return get_logical_dpi.ans