X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=autorandr.py;h=9db5774bc4317c1762b3d9323b970705adb67e71;hb=4983ad5e8c8e1d63a5eccb713e3d53a6a791db95;hp=adeaa6099ecd2917b6f437fc3f0987502b01e8f1;hpb=0243a5bb29217d0a9fb3dbe510ea9a00c9a13a49;p=deb_pkgs%2Fautorandr.git diff --git a/autorandr.py b/autorandr.py index adeaa60..9db5774 100755 --- a/autorandr.py +++ b/autorandr.py @@ -613,13 +613,13 @@ def generate_virtual_profile(configuration, modes, profile_name): "Generate one of the virtual profiles" configuration = copy.deepcopy(configuration) if profile_name == "common": - common_resolution = [ set(( ( mode["width"], mode["height"] ) for mode in output )) for output in modes.values() ] + common_resolution = [ set(( ( mode["width"], mode["height"] ) for mode in output_modes )) for output, output_modes in modes.items() if configuration[output].edid ] common_resolution = reduce(lambda a, b: a & b, common_resolution[1:], common_resolution[0]) common_resolution = sorted(common_resolution, key=lambda a: int(a[0])*int(a[1])) if common_resolution: for output in configuration: configuration[output].options = {} - if output in modes: + if output in modes and configuration[output].edid: configuration[output].options["mode"] = [ x["name"] for x in sorted(modes[output], key=lambda x: 0 if x["preferred"] else 1) if x["width"] == common_resolution[-1][0] and x["height"] == common_resolution[-1][1] ][0] configuration[output].options["pos"] = "0x0" else: @@ -635,7 +635,7 @@ def generate_virtual_profile(configuration, modes, profile_name): for output in configuration: configuration[output].options = {} - if output in modes: + if output in modes and configuration[output].edid: mode = sorted(modes[output], key=lambda a: int(a["width"])*int(a["height"]) + (10**6 if a["preferred"] else 0))[-1] configuration[output].options["mode"] = mode["name"] configuration[output].options["rate"] = mode["rate"]