X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=autorandr.py;h=aadb7d4f608e3e179fefe87d7b8f563cc8042d58;hb=e5ae9d8c97fe6251c2b587de0cb4fbd605196075;hp=64e9e22c7dc5315993c20abe69772cbe00b9318f;hpb=14df4cb5f9b0073c690d7c6f03329ae038591369;p=deb_pkgs%2Fautorandr.git diff --git a/autorandr.py b/autorandr.py index 64e9e22..aadb7d4 100755 --- a/autorandr.py +++ b/autorandr.py @@ -145,12 +145,12 @@ class XrandrOutput(object): @property def option_vector(self): "Return the command line parameters for XRandR for this instance" - return sum([["--%s" % option[0], option[1]] if option[1] else ["--%s" % option[0]] for option in chain((("output", self.output),), self.options_with_defaults.items())], []) + return sum([["--%s" % option[0], option[1]] if option[1] else ["--%s" % option[0]] for option in chain((("output", self.output),), sorted(self.options_with_defaults.items()))], []) @property def option_string(self): "Return the command line parameters in the configuration file format" - return "\n".join([ " ".join(option) if option[1] else option[0] for option in chain((("output", self.output),), self.options.items())]) + return "\n".join([ " ".join(option) if option[1] else option[0] for option in chain((("output", self.output),), sorted(self.options.items()))]) @property def sort_key(self): @@ -328,6 +328,8 @@ def parse_xrandr_output(): # Split at output boundaries and instanciate an XrandrOutput per output split_xrandr_output = re.split("(?m)^([^ ]+ (?:(?:dis)?connected|unknown connection).*)$", xrandr_output) + if len(split_xrandr_output) < 2: + raise RuntimeError("No output boundaries found") outputs = OrderedDict() modes = OrderedDict() for i in range(1, len(split_xrandr_output), 2):