gtk_window_list_toplevels()
дает вам только окна из вашего процесса, но включает в себя скрытые окна.Поэтому, если вы перечислите окна верхнего уровня приложения, такого как Gedit, вы, вероятно, получите множество скрытых окон настроек, диалогов поиска и, возможно, множество других окон, связанных со многими плагинами.Попробуйте сначала с помощью простого приложения с одним окном, которое вы написали сами, и вы обнаружите, что оно возвращает только главное окно.