Создаю обычное окно-родитель gtk_window_new(GTK_WINDOW_TOPLEVEL), затем такое же окно-потомок. Мне нужно, чтобы потомок не давал родительскому окну управление и всегда был поверх него. Для потомка выполняю:
gtk_window_set_modal(my_window, true);
gtk_window_set_transient_for(my_window, parent_window);
Модальным окно становится, а на gtk_window_set_transient_for виснет.