Let's try to get all this stuff right. Here's what I have in mind.
- Enable Minimize button ( not real-time )
- Enable Maximize button ( not real-time )
- Toggle Maximize button between Maximize and Fullscreen
- Enable user controlled Window resizing ( not real-time )
- Toggle between game staying active when minimized / out-of-focus
- Viewport
* Full ( Use Width / Height )
* Stretched
* Keep Aspect Ratio
* 1:1 Resolution
* Step ( Min, Max, Step )
- Windowed
* Specific Resolution
* User Defined
- Fullscreen
* Specific Resolution
* Use Desktop Resolution
- Range
* Minimum / Maximum supported Resolutions
* Unlimited
Some additional idea's
* Store supported resolutions in accessible array
* Selection menu lists supported resolution / hertz / depth
* Option to load & read configuration file before window is created
I've attached a example using a viewport that keeps aspect ratio, has a specific windowed resolution with unlimited range. Press F4 to switch to fullscreen, and F3 to toggle the viewport to stretched.
Comments & suggestions are welcome

K