Документы GTK предлагают:
GtkWidget *toplevel = gtk_widget_get_toplevel (widget);
if (gtk_widget_is_toplevel (toplevel))
{
/* Perform action on toplevel. */
}
get_toplevel вернет самый верхний виджет, внутри которого вы находитесь, независимо от того, является ли это окном, то есть проверка is_toplevel. Да, что-то неправильно названо, поскольку приведенный выше код выполняет get_toplevel (), а затем немедленный is_toplevel () (скорее всего, get_toplevel () должен называться как-то иначе).