Created
May 18, 2015 08:43
-
-
Save phillipberndt/32cf4e75a8214f90a8ab to your computer and use it in GitHub Desktop.
autorandr patch to show DPI
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/autorandr.py b/autorandr.py | |
index 19722c9..6df9d9b 100755 | |
--- a/autorandr.py | |
+++ b/autorandr.py | |
@@ -129,7 +129,8 @@ class XrandrOutput(object): | |
(?P<rotate>(?:normal|left|right|inverted))\s+ # Rotation | |
(?:(?P<reflect>X\ and\ Y|X|Y)\ axis)? # Reflection | |
)? # .. but everything of the above only if the screen is in use. | |
- (?:[\ \t]*\([^\)]+\))(?:\s*[0-9]+mm\sx\s[0-9]+mm)? | |
+ (?:[\ \t]*\([^\)]+\))\s* | |
+ (?:(?P<physical_width>[0-9]+)mm\sx\s(?P<physical_height>[0-9]+)mm)? # Physical size | |
(?:[\ \t]*panning\ (?P<panning>[0-9]+x[0-9]+\+[0-9]+\+[0-9]+))? # Panning information | |
(?:[\ \t]*tracking\ (?P<tracking>[0-9]+x[0-9]+\+[0-9]+\+[0-9]+))? # Tracking information | |
(?:[\ \t]*border\ (?P<border>(?:[0-9]+/){3}[0-9]+))? # Border information | |
@@ -167,6 +168,7 @@ class XrandrOutput(object): | |
XRANDR_DEFAULTS = dict(list(XRANDR_13_DEFAULTS.items()) + list(XRANDR_12_DEFAULTS.items())) | |
+ METRE_TO_INCH = 39.3700787402 | |
EDID_UNAVAILABLE = "--CONNECTED-BUT-EDID-UNAVAILABLE-" | |
def __repr__(self): | |
@@ -313,6 +315,10 @@ class XrandrOutput(object): | |
options["gamma"] = gamma | |
if match["rate"]: | |
options["rate"] = match["rate"] | |
+ if match["physical_width"]: | |
+ width_inches = int(match["physical_width"]) * 1e-3 * XrandrOutput.METRE_TO_INCH | |
+ height_inches = int(match["physical_height"]) * 1e-3 * XrandrOutput.METRE_TO_INCH | |
+ print("\033[1mDebug\033[0m: Output %s reports %3.2f x %3.2f DPI" % (match["output"], int(match["width"]) / width_inches, int(match["height"]) / height_inches)) | |
return XrandrOutput(match["output"], edid, options), modes | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment