Description
sdl2.ext exhibits some very odd behavior with windows in multi-display systems.
I'm using sdl2.ext on an iMac with two displays. If I initialize sdl2.ext and then create two fullscreen windows - one on each display - they show up and work fine... sometimes.
Oddities that I've experienced:
-
If you've previously created a routine, normal-sized window on a primary display, you absolutely cannot get a fullscreen display on the same window. The fullscreen window simply doesn't appear.
-
If you create a fullscreen window on the primary display - the one with with the dock - sometimes the dock and menubar show up over the fullscreen window. There is no way to control this behavior, or even predict it.
-
If you create two fullscreen windows, hide them (to show the desktop), and then show them again - the window on the secondary display (without the dock) shows up, but the window on the primary display does not. Nothing appears there.
-
If you create two fullscreen windows, then call sdl2.ext.exit(), and then sdl2.ext.init(), and then recreate both windows - you get the opposite behavior as in Add tutorial for playing music and sound #3. The window on the primary display appears, and the secondary display turns fullscreen black and nothing can be drawn to it.
-
Transitions into fullscreen (in scenarios where fullscreen works) are typically quite nice: the desktop smoothly fades out and the fullscreen window fades in. Transitions out of fullscreen are a different story, with lots of weird flickering, repeated fading in and out, and eventually your desktop snaps back into place. It's strange and very disconcerting.
Basically - sdl2.ext fullscreen should be considered fatally broken on multi-display systems.