Pruefstand-Fenster gehen neben dem Bildschirm auf, ohne Maus zu greifen
Sein Fund mitten im Lauf: "pack doch die maus nicht immer auf das programm, weil ich kann dir sonst nichts schreiben". Im Testlauf oeffnen Fenster und Dialoge jetzt bei x = Bildschirmbreite + 20 - auf dem zweiten Monitor, wenn einer da ist -, und kein Dialog ruft mehr grab_set. Unsichtbar machen (withdraw) waere falsch: dann sieht niemand mehr, was der Pruefstand tut - und ein weggenommenes Fenster baut seine Dialoge nicht mehr richtig auf. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V4t48uxDok5rJXhC9bX1Ax
This commit is contained in:
parent
ca9ac212cf
commit
4cf46e9932
2 changed files with 13 additions and 0 deletions
7
app.py
7
app.py
|
|
@ -60,6 +60,13 @@ class RechnungsApp(ThemeMixin, KorrekturMixin, EinstellungenMixin, tk.Tk):
|
||||||
hoehe = max(560, min(840, self.winfo_screenheight() - 90))
|
hoehe = max(560, min(840, self.winfo_screenheight() - 90))
|
||||||
self.geometry(f"1060x{hoehe}")
|
self.geometry(f"1060x{hoehe}")
|
||||||
self.minsize(900, 540)
|
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.anzahl_vars = {} # nr -> StringVar
|
||||||
self.personen_vars = {} # nr -> StringVar
|
self.personen_vars = {} # nr -> StringVar
|
||||||
|
|
|
||||||
6
theme.py
6
theme.py
|
|
@ -122,6 +122,12 @@ class ThemeMixin:
|
||||||
und Tastatur fest, waehrend nebenan jemand schreibt.
|
und Tastatur fest, waehrend nebenan jemand schreibt.
|
||||||
"""
|
"""
|
||||||
d.configure(bg=self.col_bg)
|
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
|
# erst nach dem Anzeigen setzen, sonst greift DWM noch nicht
|
||||||
d.after(20, lambda: self._dark_titlebar(d))
|
d.after(20, lambda: self._dark_titlebar(d))
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue