A GtkWindow can be one of these types. Most things you'd consider a "window" should have type Gtk::WINDOW_TOPLEVEL; windows with this type are managed by the window manager and have a frame by default (call set_decorated() to toggle the frame).
Windows with type Gtk::WINDOW_POPUP are ignored by the window manager; window manager keybindings won't work on them, the window manager won't decorate the window with a frame, many GTK+ features that rely on the window manager will not work (e.g. resize grips and maximization/minimization). Gtk::WINDOW_POPUP is used to implement widgets such as GtkMenu or tooltips that you normally don't think of as windows per se.
Nearly all windows should be Gtk::WINDOW_TOPLEVEL. In particular, do not use Gtk::WINDOW_POPUP just to turn off the window borders; use set_decorated() for that.
|0||Gtk::WINDOW_TOPLEVEL||A regular window, such as a dialog.|
|1||Gtk::WINDOW_POPUP||A special window such as a tooltip.|