From 3ca2870deb8f913c5618e3800a1c039cc966f862 Mon Sep 17 00:00:00 2001 From: Nate Graham Date: Tue, 20 Jun 2023 23:59:36 +0200 Subject: [PATCH] outputconfigurationstore: restore comment lost in migration from KScreen This comment is important to explain the underlying reason *why* we have different target DPIs for different device types. --- src/outputconfigurationstore.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/outputconfigurationstore.cpp b/src/outputconfigurationstore.cpp index ecb4bdf380..b9d60b940a 100644 --- a/src/outputconfigurationstore.cpp +++ b/src/outputconfigurationstore.cpp @@ -118,6 +118,13 @@ double OutputConfigurationStore::chooseScale(Output *output, OutputMode *mode) c double OutputConfigurationStore::targetDpi(Output *output) const { + /* The eye's ability to perceive detail diminishes with distance, so objects + * that are closer can be smaller and their details remain equally + * distinguishable. As a result, each device type has its own ideal physical + * size of items on its screen based on how close the user's eyes are + * expected to be from it on average, and its target DPI value needs to be + * changed accordingly. + */ const auto devices = input()->devices(); const bool hasLaptopLid = std::any_of(devices.begin(), devices.end(), [](const auto &device) { return device->isLidSwitch();