From 6e3adec4d5bf88c0fdcb027ae767c46b6856408b Mon Sep 17 00:00:00 2001 From: gryf Date: Sun, 15 Oct 2017 10:37:01 +0200 Subject: [PATCH] Moved xrandr options to Output class --- pyrandr.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/pyrandr.py b/pyrandr.py index 427f9a8..2bfb4c4 100755 --- a/pyrandr.py +++ b/pyrandr.py @@ -38,6 +38,16 @@ class Output(object): else: return "%s %s %s" % (self.name, connected, active) + def get_randr_options(self): + """Return options for xrandr command as a list""" + if self.connected: + return ['--output', self.name, + '--mode', "%dx%d" % (self.x, self.y), + '--pos', "%dx%d" % (self.shift_x, self.shift_y), + '--rotate', "normal"] + else: + return ['--output', self.name, '--off'] + class Organizer(object): def __init__(self): @@ -96,14 +106,7 @@ class Organizer(object): cmd = ['xrandr'] for name in self._outputs: out = self._outputs[name] - if not out.connected: - cmd.extend(['--output', out.name, '--off']) - continue - - cmd.extend(['--output', out.name, - '--mode', "%dx%d" % (out.x, out.y), - '--pos', "%dx%d" % (out.shift_x, out.shift_y), - '--rotate', "normal"]) + cmd.extend(out.get_randr_options()) subprocess.call(cmd)