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.
Value | Symbolic name | Description |
0 | Gtk::WINDOW_TOPLEVEL | A regular window, such as a dialog. |
1 | Gtk::WINDOW_POPUP | A special window such as a tooltip. |