Conducting this because the comment on getting GdkWndow has still not been answered.
For most widgets, GdkWindow can be restored as the data field of the window of the GtkWidget structure. The following code sets the cursor to the GtkWindow widget:
GtkWidget* win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
GdkCursor* watchCursor = gdk_cursor_new(GDK_WATCH);
gdk_window_set_cursor(win->window, watchCursor);
gdk_window_set_cursor(win->window, NULL);
GtkWindow , :
GtkWidget* win = gtk_widget_get_ancestor(someWidget, GTK_TYPE_WINDOW);