X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=autorandr.py;h=cf9b0c8ec0f08c7584830f000c6abd6260bcff42;hb=refs%2Ftags%2Fupstream%2F1.8.1;hp=e9bf2086f7fbc7324938f112046ff5ebb941bb0c;hpb=669ca1146ef8bf7ef3663da06d31e5cbb5b51537;p=deb_pkgs%2Fautorandr.git diff --git a/autorandr.py b/autorandr.py index e9bf208..cf9b0c8 100755 --- a/autorandr.py +++ b/autorandr.py @@ -317,13 +317,7 @@ class XrandrOutput(object): else: edid = "%s-%s" % (XrandrOutput.EDID_UNAVAILABLE, match["output"]) - # An output can be disconnected but still have a mode configured. This can only happen - # as a residual situation after a disconnect, you cannot associate a mode with an disconnected - # output. - # - # This code needs to be careful not to mix the two. An output should only be configured to - # "off" if it doesn't have a mode associated with it, which is modelled as "not a width" here. - if not match["width"]: + if not match["connected"] or not match["width"]: options["off"] = None else: if match["mode_name"]: @@ -332,11 +326,10 @@ class XrandrOutput(object): options["mode"] = "%sx%s" % (match["mode_width"], match["mode_height"]) else: if match["rotate"] not in ("left", "right"): - options["mode"] = "%sx%s" % (match["width"] or 0, match["height"] or 0) + options["mode"] = "%sx%s" % (match["width"], match["height"]) else: - options["mode"] = "%sx%s" % (match["height"] or 0, match["width"] or 0) - if match["rotate"]: - options["rotate"] = match["rotate"] + options["mode"] = "%sx%s" % (match["height"], match["width"]) + options["rotate"] = match["rotate"] if match["primary"]: options["primary"] = None if match["reflect"] == "X": @@ -579,17 +572,6 @@ def profile_blocked(profile_path, meta_information=None): return not exec_scripts(profile_path, "block", meta_information) -def check_configuration_pre_save(configuration): - "Check that a configuration is safe for saving." - outputs = sorted(configuration.keys(), key=lambda x: configuration[x].sort_key) - for output in outputs: - if "off" not in configuration[output].options and not configuration[output].edid: - return ("`%(o)s' is not off (has a mode configured) but is disconnected (does not have an EDID).\n" - "This typically means that it has been recently unplugged and then not properly disabled\n" - "by the user. Please disable it (e.g. using `xrandr --output %(o)s --off`) and then rerun\n" - "this command.") % {"o": output} - - def output_configuration(configuration, config): "Write a configuration file" outputs = sorted(configuration.keys(), key=lambda x: configuration[x].sort_key) @@ -1207,11 +1189,6 @@ def main(argv): if options["--save"] in (x[0] for x in virtual_profiles): raise AutorandrException("Cannot save current configuration as profile '%s':\n" "This configuration name is a reserved virtual configuration." % options["--save"]) - error = check_configuration_pre_save(config) - if error: - print("Cannot save current configuration as profile '%s':" % options["--save"]) - print(error) - sys.exit(1) try: profile_folder = os.path.join(profile_path, options["--save"]) save_configuration(profile_folder, config)