Has any of this been implemented in HEAD? I have some free time to work on this, so I'd like to resurrect the discussion.
As a short-term solution, I would like to introduce a "Fit to Screen X" video option, which will run XBMC maximized with no frame on the given screen, without changing the screen resolution. As discussed above, this can be easily implemented without using SDL_FULLSCREEN, and therefore without mouse grabbing. I think this mode should be available even if/when the screen grabbing limitation of resolution-change fullscreen modes is removed.
Re the discussion in
Ticket 5110, does F11 perform the same operation as "\"? I don't see it in the keymap, and it does nothing under Linux.
Long-term the following features are desirable:
- Mouse grabbing should be optional and independent of screen mode.
- If using resolution-change-fullscreen, an Alt+Tab should cause a resolution change and minimization, like the SDL 1.3 fullscreen behavior. However in a dual screen configuration, if focus leaves XBMC and goes to another screen, XBMC should stay active and the resolution should not change. This may be hard to implement even with SDL 1.3.
- Display mode state (windowed vs fullscreen vs maximized) and window position (if windowed) should be remembered across invocations, even if the changes were made via hotkeys (F11, "\", Alt+Enter).
- Choosing the output display should be easy, and fullscreen/maximization should behave properly when multiple displays are present.
- Resizing and screen mode changes should preserve the GLcontext whenever possible.