Opened 2 years ago

Last modified 11 months ago

#9968 new defect

GUI: Selecting fullscreen mode inconsistency

Reported by: angstsmurf Owned by:
Priority: normal Component: GUI
Keywords: Cc:
Game:

Description

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 (7)

comment:1 by angstsmurf, 2 years ago

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.

comment:2 by csnover, 2 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 angstsmurf, 2 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 digitall, 13 months ago

Component: --Unset--GUI

comment:5 by macca8, 11 months 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.

Last edited 11 months ago by macca8 (previous) (diff)

comment:6 by angstsmurf, 11 months 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 the mode of the video that is currently playing. Still, I sometimes find it annoying there as well when I quit with a video in fullscreen and it will be windowed on restart.

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.

Last edited 11 months ago by angstsmurf (previous) (diff)

comment:7 by macca8, 11 months 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.

Note: See TracTickets for help on using tickets.