Use glib.idle_add to fix lack of updates