@m_adam Thanks, yes, you're right, a timer may be my best choice here to avoid too much load on the system. Checking the project list every 3 seconds or so should suffice for the usecases. And since I'm in a GeDialog, the timer function is easy to implement.
(I just have to take care that within the 3 seconds, the state of the dialog may be inconsistent with the actual system state.)