]> git.donarmstrong.com Git - deb_pkgs/autorandr.git/commitdiff
allow legacy autorandr to be off while connected
authorRasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com>
Thu, 22 Jan 2015 20:50:05 +0000 (21:50 +0100)
committerPhillip Berndt <phillip.berndt@googlemail.com>
Thu, 22 Jan 2015 21:17:36 +0000 (22:17 +0100)
autorandr.py

index 1be7e7bbd31763397e3507217d15a285db4a7f8d..01632ee86e1f329e0ec74ca82ae24943a36c0423 100755 (executable)
@@ -243,16 +243,19 @@ class XrandrOutput(object):
                 line = line.split(None, 1)
                 options[line[0]] = line[1] if len(line) > 1 else None
 
+        edid = None
+
         if options["output"] in edid_map:
             edid = edid_map[options["output"]]
-        elif "off" in options:
-            edid = None
         else:
+            # This fuzzy matching is for legacy autorandr that used sysfs output names
             fuzzy_edid_map = [ re.sub("(card[0-9]+|-)", "", x) for x in edid_map.keys() ]
             fuzzy_output = re.sub("(card[0-9]+|-)", "", options["output"])
-            if fuzzy_output not in fuzzy_edid_map:
-                raise RuntimeError("Failed to find a corresponding output in config/setup for output `%s'" % options["output"])
-            edid = edid_map[list(edid_map.keys())[fuzzy_edid_map.index(fuzzy_output)]]
+            if fuzzy_output in fuzzy_edid_map:
+                edid = edid_map[list(edid_map.keys())[fuzzy_edid_map.index(fuzzy_output)]]
+            elif "off" not in options:
+                raise RuntimeError("Failed to find an EDID for output `%s' in setup file, required as `%s' is not off in config file."
+                                   % (options["output"], options["output"]))
         output = options["output"]
         del options["output"]