Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SDL menu usability issues because menu size and scaling #5249

Open
2 tasks done
LukasThyWalls opened this issue Oct 21, 2024 · 0 comments
Open
2 tasks done

SDL menu usability issues because menu size and scaling #5249

LukasThyWalls opened this issue Oct 21, 2024 · 0 comments
Labels

Comments

@LukasThyWalls
Copy link

LukasThyWalls commented Oct 21, 2024

Describe the bug

Hello.

I noted issues with the SDL built-in menu to reach certain menus and items when the relative size of the menu and the DOSBox-X window size are very close. It's the same issue noted here #2877 in reality, but It could be trigger in bigger window sizes.

As explained here, the menu first doubles the size to maintain readability in bigger resolution size, and that's fine. The jump happens in 1280 pixels horizontal (1280x800).

When the menu is double, and for example, the DOSBox-X window size is 1280x960 (bigger rounded 4:3 resolution to fit in a 1080p display) some items are inaccessible because the menu need to be rendered inside the window itself, as opposite when DOSBox-X on Windows is compiled to use its menus (There I have a 1280x960 DOSBox-X window and there is no issues with the menus).

To show the difference, there is the DOSBox-X with window size 1279x960:

Main Window at 1279x960 (tiny menu):
DOSBox-X_1279x960_Main

Config tool at 1279x960 (tiny window, bit still visible):
DOSBox-X_1279x960_ConfigTool

Drive menu at 1279x960 (tiny menu, but all options are reachable):
DOSBox-X_1279x960_DriveMenu

One pixel more, 1280x960, the menu doubles the size:

Main Window at 1280x960 (big menu):
DOSBox-X_1280x960_Main

Config tool at 1280x960 (big window, good visibility):
DOSBox-X_1280x960_ConfigTool

Drive menu at 1280x960 (big menu, but all options are NOT reachable. You can't select options from other drives than A!):
DOSBox-X_1280x960_DriveMenu

In video, to see it in action:
DOSBox-X_1280x960_DriveHelpMenuIssue.webm

In #2877, the issue was using the original window resolution (640x480) but without doubling the menu size, the unreachable menus are the same.

Steps to reproduce the behaviour

  1. Use DOSBox-X with built-in SDL menus (Flatpak Linux uses them).
  2. Set window resolution to 1280x960 (SDL section, windowresolution in dosbox-x.conf).
  3. Use It in window mode.
  4. Try to reach all letters in the Drive menu or other ones with sub-menus.

Expected behavior

All items should be reachable.

What operating system(s) this bug have occurred on?

KUbuntu 24.10, KDE Plasma 6.1.5, 1920x1080 (125% Scale)

What version(s) of DOSBox-X have this bug?

DOSBox-X 2024.10.01 (Linux SDL2 64 bit). Flatpak version. Language es_ES.

Used configuration

Only setting changed from default is:

[sdl]
(...)
windowresolution  = 1280x960
(...)

Output log

No response

Additional information

I know that have a bigger menu size is needed on bigger resolutions, but the jump at 1280 is a big one for using at that resolution or a little up. This was more or less talked here #877.

The problem here is not from the resolution itself, is how those menus work, as they overlap over the previous ones.

Some short or long solutions I could imagine could be:

  • Have a between 1x - 2x menu size to use at a lower resolution (1.5x, but using the same menu with that multiplier for sure it gonna be look ugly).
  • Redesign the menus, or at least, how they overlap between them, or how the sub-menus appear (click to appear sub-menu setting?).
  • Set an option to force the menu scaling, setting auto as default like it works, setting 1, 2, 3... as the multiply factor.

Thanks in advance!

Have you checked that no similar bug report(s) exist?

  • I have searched and didn't find any similar bug report.

Code of Conduct & Contributing Guidelines

  • I agree to follow the code of conduct and the contributing guidelines.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant