diff --git a/app.py b/app.py index cf23915..f135492 100644 --- a/app.py +++ b/app.py @@ -60,6 +60,13 @@ class RechnungsApp(ThemeMixin, KorrekturMixin, EinstellungenMixin, tk.Tk): hoehe = max(560, min(840, self.winfo_screenheight() - 90)) self.geometry(f"1060x{hoehe}") self.minsize(900, 540) + if TESTLAUF: + # Ein Pruefstand bedient das Programm, waehrend nebenan jemand + # arbeitet. Das Fenster geht deshalb NEBEN dem Bildschirm auf (auf + # dem zweiten Monitor, wenn einer da ist) - sichtbar, aber nicht im + # Weg. Unsichtbar machen waere falsch: dann sieht niemand mehr, was + # der Pruefstand eigentlich tut. + self.geometry(f"+{self.winfo_screenwidth() + 20}+40") self.anzahl_vars = {} # nr -> StringVar self.personen_vars = {} # nr -> StringVar diff --git a/theme.py b/theme.py index 3070c3e..dd06109 100644 --- a/theme.py +++ b/theme.py @@ -122,6 +122,12 @@ class ThemeMixin: und Tastatur fest, waehrend nebenan jemand schreibt. """ d.configure(bg=self.col_bg) + if config.TESTLAUF: + # Wie das Hauptfenster: neben den Bildschirm, und ohne grab_set - + # ein Dialog, der Maus und Tastatur festhaelt, blockiert den + # Menschen, der nebenher schreibt. + d.geometry(f"+{d.winfo_screenwidth() + 20}+40") + d.grab_set = lambda *a, **k: None # erst nach dem Anzeigen setzen, sonst greift DWM noch nicht d.after(20, lambda: self._dark_titlebar(d))