use of idle_add doesn't work if there is a dialog, causes it to hang