Opened 6 years ago
Closed 9 months ago
#9968 closed defect (outdated)
GUI: Selecting fullscreen mode inconsistency
|Reported by:||angstsmurf||Owned by:||tag2015|
It might be that this works as intended, but it is a little confusing: when selecting or de-selecting fullscreen mode in the ScummVM main menu options and clicking OK or Apply, the GUI window switches to fullscreen or windowed mode accordingly. However, if you change mode with Alt+Enter instead, these changes are not reflected in the option settings. If I'm in windowed mode, press Alt+Enter to enter fullscreen, and then go into Options, Fullscreen mode is not selected. If I select it and click OK, there is the "switch resolution" effect, as if the GUI is trying to change to fullscreen despite already being fullscreen.
I guess this is not really much of a problem, it just seems confusing and inconsistent to me. The best solution would probably be to make Alt+Enter also toggle the Fullscreen setting in the Options.
There is also a Segmentation fault: 11 that happened frequently when I experimented with this, but I could not find a way to reproduce it reliably.
Change History (8)
comment:1 by , 6 years ago
comment:2 by , 6 years ago
Segfault sounds bad. Are you still able to reproduce that part?
There is no data-binding in the GUI to maintain state with the config state and it’s not likely that anything like that would be added any time soon, this is a pretty edge-case situation so I wouldn’t expect it to ever get fixed unless someone feels like fixing it and sends a patch.
comment:3 by , 6 years ago
No segfault occurred when I experimented with this again using SDL 2.0.6 last month, so I guess that was due to a bug in the older SDL.
comment:4 by , 5 years ago
|Component:||--Unset-- → GUI|
comment:5 by , 4 years ago
I can understand your confusion, but there's actually nothing wrong here. While it may not be immediately obvious, the behaviour is totally predictable, so I'll try to explain.
Your expectation is that when using the Alt-Enter hotkey it interacts with the Fullscreen mode option. In fact, this is NOT the case.
While each function can change the screen mode, each performs a different role in controlling the screen mode. As such, each operates independently of the other, maintaining their own unique values.
The Fullscreen mode option is responsible for setting default values for screen mode operation in the Launcher & game environments. These values are persistent and can only be changed by the user directly.
The hotkey allows screen modes to be changed on the fly, ignoring the underlying default. This change is temporary, and generally only lasts until the user switches to another environment, but there is an exception.
Please check my comment at https://github.com/scummvm/scummvm/pull/1415#issuecomment-443138388 for a more detailed analysis of the current behaviour.
Since this is simply a misunderstanding of the relationship between the Alt-Enter hotkey and the Fullscreen mode option, and each function is operating correctly, I believe this issue can be closed.
comment:6 by , 4 years ago
When I change a setting in a computer program, I generally don't expect the change to be temporary.
I think that what you describe is roughly analogue to the behaviour of command+F in VLC, which only affects the currently playing video, but there at least the actual user interface is never fullscreen, and the "permanent" fullscreen setting is named "Start in fullscreen" and does not change to mode of the video that is currently playing. Still, I find it annoying there as well.
If Alt+Enter is temporary, this should be clearly explained in descriptions and documentation, and the other fullscreen options should be named differently ("Always start in fullscreen"), to underline the difference.
comment:7 by , 4 years ago
Quote: "When I change a setting in a computer program, I generally don't expect the change to be temporary."
Exactly. And setting the Fullscreen mode option is how you enforce that behaviour for both Launcher & game environments.
Alt-Enter is simply a tool for switching the current screen mode in the current environment only. It's temporary in the context of its relationship with user preferences, and not sticking when you quit.
Whether or not the change sticks when changing environments depends on whether or not the user has already set a preferred mode for that environment (and that is determined by the presence of a fullscreen setting in the appropriate section of the Config File).
As far as documentation is concerned, the User Manual contains an outdated reference (refers to Alt-F5) in the section describing how to use the Fullscreen mode option which indicates its intended purpose.
The problem here is that Alt-Enter is being taken out of context (i.e. it doesn't set screen modes, only switches them), so clarity of its purpose is probably all that's needed.
comment:8 by , 9 months ago
|Status:||new → closed|
I updated the docs page, slightly changing the description and removing the outdated keybinding.
The pdf manual is automatically generated (I think) so it should be updated as well.
As it's been decided to stick with the current behavior I'm closing this old report. Please reopen if you need to continue with the discussion.
The flickering when selecting-fullscreen-when-already-in-fullscreen seems to be gone with ScummVM 1.10.0git5099-ga51fb1f3b6 and SDL2 2.0.6. When changing mode with Alt+Enter it is still not reflected in the settings, though, but I suppose that is more of a feature request.