# run!
return screen.ScreenSituation(internalConnectors, config.get('externalConnectors'))
-class ShowLevels(Enum):
- ONEXTERNAL = ("on-external")
- ONNEW = ("on-new")
- ONERROR = ("on-error")
- def __init__(self, text):
- # auto numbering
- cls = self.__class__
- self._value_ = len(cls.__members__) + 1
- self.text = text
- @classmethod
- def getNames(cls):
- return list(x.text for x in cls)
-
# if we run top-level
if __name__ == "__main__":
try:
parser.add_argument("-s", "--silent",
dest="silent", action='store_true',
help="Prefer to be silent: Opens a UI only if the external screen is not known *and* no default configuration (-r/-e/-i) is given.")
+ parser.add_argument("--no-db",
+ dest="use_db", action='store_false',
+ help="Do not use the database of known screens.")
parser.add_argument("-v", "--verbose",
dest="verbose", action='store_true',
help="More verbose output on stderr.")
# There's an external screen connected that we may want to use.
# Fetch info about this screen from the database.
# NOTE: If it is too slow to open the DB twice (reading and saving), we can keep it open all the time
- with database.Database(databaseFilePath) as db:
- situation.fetchDBInfo(db)
+ if cmdArgs.use_db:
+ with database.Database(databaseFilePath) as db:
+ situation.fetchDBInfo(db)
# what to we do?
have_default_conf = bool(cmdArgs.external_only or cmdArgs.internal_only or cmdArgs.rel_position)
no_ui = bool(have_default_conf or (situation.previousSetup and cmdArgs.silent))
# ask the user what to do
setup = frontend.setup(situation)
if setup is None: sys.exit(1) # the user canceled
- with database.Database(databaseFilePath) as db:
- situation.putDBInfo(db, setup)
+ if cmdArgs.use_db:
+ # persists this to disk
+ with database.Database(databaseFilePath) as db:
+ situation.putDBInfo(db, setup)
elif situation.previousSetup:
# apply the old setup again
setup = situation.previousSetup