From: Ralf Jung Date: Wed, 27 Jun 2012 18:46:17 +0000 (+0200) Subject: store the screen resolution as numberas and convert it back to a string as needed X-Git-Url: https://git.ralfj.de/lilass.git/commitdiff_plain/6f78b3a6bb1715b8c742a124f696b6bb8b36751a store the screen resolution as numberas and convert it back to a string as needed --- diff --git a/external_screen.py b/external_screen.py index a8742a3..e365ef5 100755 --- a/external_screen.py +++ b/external_screen.py @@ -17,12 +17,16 @@ def getXrandrInformation(): connectors[connector] = [] continue # new resolution? - m = re.search('^ ([\d]+x[\d]+) +', line) + m = re.search('^ ([\d]+)x([\d]+) +', line) if m is not None: assert connector is not None - connectors[connector].append(int(m.groups()[0])) + connectors[connector].append((int(m.groups()[0]), int(m.groups()[1]))) return connectors +def res2str(res): + (w, h) = res + return str(w)+'x'+str(h) + # Check screen setup internalName = "LVDS" externalName = "CRT1" @@ -31,10 +35,10 @@ internalResolutions = connectors[internalName] # there must be a screen assoicat externalResolutions = connectors.get(externalName) # Check what to do -internalArgs = ["--mode", internalResolutions[0]] # there must be a resolution for the internal screen +internalArgs = ["--mode", res2str(internalResolutions[0])] # there must be a resolution for the internal screen externalArgs = ["--off"] if externalResolutions is not None: # we need to ask what to do - extPosition = PositionSelection(externalResolutions) + extPosition = PositionSelection(map(res2str, externalResolutions)) extPosition.exec_() if not extPosition.result(): sys.exit(1) # the user canceled # build command-line