X-Git-Url: https://git.ralfj.de/lilass.git/blobdiff_plain/ffc98865eecc0de34e0a33d7d83461ed9d4ee29b..a6c79626b2d248d0484b5242c0a2051da8ec84d1:/screen.py?ds=inline diff --git a/screen.py b/screen.py index a543fea..d567912 100644 --- a/screen.py +++ b/screen.py @@ -36,11 +36,16 @@ def processOutputIt(*args): class RelativeScreenPosition(Enum): '''Represents the relative position of the external screen to the internal one''' - LEFT = 0 - RIGHT = 1 - ABOVE = 2 - BELOW = 3 - MIRROR = 4 + LEFT = ("left of") + RIGHT = ("right of") + ABOVE = ("above") + BELOW = ("below") + MIRROR = ("same as") + def __init__(self, text): + # auto numbering + cls = self.__class__ + self._value_ = len(cls.__members__) + self.text = text class Resolution: @@ -126,18 +131,19 @@ class ScreenSituation: just choose any remaining connector.''' # which connectors are there? self._getXrandrInformation() - print(self.connectors) # figure out which is the internal connector self.internalConnector = self._findAvailableConnector(internalConnectorNames) if self.internalConnector is None: - raise Exception("Could not automatically find internal connector, please use ~/.dsl.conf to specify it manually.") - print(self.internalConnector) + raise Exception("Could not automatically find internal connector, please use (or fix) ~/.dsl.conf to specify it manually.") + print("Detected internal connector:",self.internalConnector) # and the external one if externalConnectorNames is None: externalConnectorNames = list(self.connectors.keys()) externalConnectorNames.remove(self.internalConnector) self.externalConnector = self._findAvailableConnector(externalConnectorNames) - print(self.externalConnector) + if self.internalConnector == self.externalConnector: + raise Exception("Internal and external connector are the same. This must not happen. Please fix ~/.dsl.conf."); + print("Detected external connector:",self.externalConnector) # Run xrandr and fill the dict of connector names mapped to lists of available resolutions. def _getXrandrInformation(self):