Hallo,
Du weißt, dass Deine Anwendung läuft, da Du sie selbst gestartet hast.
Du weißt aber auch, wann eine Benutzereingabe benötigt wird, da Du diese selbst anforderst.
Im Klartext: sobald Du eine Maske, einn Dialog - was auch immer - öffnest, in der Interaktion mit dem Benutzer stattfinden soll, setzt Du ein Flag.
Sobald besagte Interaktion abgeschlossen ist, die Maske, der Dialog - was auch immer - geschlossen, bestätigt (...) wird, setzt Du das Flag zurück.
Dieses Flag kannst Du nun jederzeit bequem abfragen und entsprechend handeln.
Nachtrag: bei gutem Design weiß man immer, wo man steht