Recently I have been working on eliminating native subwindows and supporting offscreen windows in the client-side-windows branch of Gtk+. If all goes well this will be merged in the next release of Gtk+, This presentation will explain how subwindows work in Gtk+, how the client side and offscreen windows are implemented, and why you want to have them in the first place. I will also show some examples of what you can do with offscreen windows.