Fullscreen toggle in XFree86 with multiple XServers?

Hi all: I’m trying to develop a patch for my favorite XMMS vis plugin,
JESS: http://arquier.free.fr/

JESS uses SDL_WM_ToggleFullScreen to switch into full screen mode. What
I am observing is the following:

I have two monitors, and in order to get 3D accel on both displays, I am
running two separate screens instead of using Xinerama. When JESS
toggles to fullscreen, it seems to suck up all input focus. Normally,
with the two displays, the input devices are shared between the two
screens, with the mouse being able to transit from one display to the
other. If JESS is in fullscreen, and locks down the mouse, then I can no
longer interact with apps running on the other screen.

Is this an SDL limitation, that it expects there to be exactly one
display in X, or is there a simple way to fix this? I have never used
the SDL before, and so far I haven’t found good documentation on what
the expected behavior is.

I did read that 1.3 intends to support multiple windows/monitors.
Perhaps I should try just using the CVS SDL before I look into this too far?

Thanks. I haven’t yet decided to subscribe, so if it isn’t too much
trouble, please CC me in your reply. I will definitely watch the
archives though, so no biggie.–
William “Bo” Brinkman @Bo_Brinkman
Princeton Computer Science http://www.derandomized.org/

Space Ghost: "No, more like my Mickey Mouse watch. A nice tick."
Zorak: “Time bombs are nice! Tick Tick Tick BOOM! tick tick tick…”

Hi all: I’m trying to develop a patch for my favorite XMMS vis plugin,
JESS: http://arquier.free.fr/

JESS uses SDL_WM_ToggleFullScreen to switch into full screen mode. What
I am observing is the following:

I have two monitors, and in order to get 3D accel on both displays, I am
running two separate screens instead of using Xinerama. When JESS
toggles to fullscreen, it seems to suck up all input focus. Normally,
with the two displays, the input devices are shared between the two
screens, with the mouse being able to transit from one display to the
other. If JESS is in fullscreen, and locks down the mouse, then I can no
longer interact with apps running on the other screen.

Is this an SDL limitation, that it expects there to be exactly one
display in X, or is there a simple way to fix this? I have never used
the SDL before, and so far I haven’t found good documentation on what
the expected behavior is.

SDL does indeed lock the mouse input when you go fullscreen so that
your mouse doesn’t go sliding over into another desktop when playing
a particularly fast paced game. :slight_smile:

There isn’t a way to disabled it at the moment, other than not to go
fullscreen. A hack could probably be added if necessary.

See ya,
-Sam Lantinga, Software Engineer, Blizzard Entertainment