LMMS / lmms

Cross-platform music production software
https://lmms.io
GNU General Public License v2.0
8.14k stars 1.01k forks source link

UI & fonts Scale Options #7542

Open Rogemcy opened 3 weeks ago

Rogemcy commented 3 weeks ago

Enhancement Summary

1.3.0 UI & fonts are still too small in 2560x1440 display .Need options such as Blender and Godot.

I've try big fonts theme but the UI still too small.

Implementation Details / Mockup

Blender1 Blender2 Godot1 Godot2

Please search the issue tracker for existing feature requests before submitting your own.

michaelgregorius commented 3 weeks ago

@Rogemcy, what's your operating system? And what value have you set for the global (fractional) scaling of that system?

Rogemcy commented 3 weeks ago

@Rogemcy, what's your operating system? And what value have you set for the global (fractional) scaling of that system? Win10 64bit ,100% , 2560 x 1400

michaelgregorius commented 3 weeks ago

Thanks for the info, @Rogemcy!

LMMS currently assumes that the global scaling is set to a value which compensates for higher DPI values. In a nutshell, 96 DPI is assumed to be 100%. To find out the scaling factor to be used you have to divide the actual DPI of the monitor by 96.

Example: I have a 27" monitor with a resolution of 2560x1440. This means that the physical DPI is around 117. Using the formula above the resulting scaling factor is 117 / 96 = 1.21875. Because the option to set the scaling to 121,875% is not provided (and it would lead to ugly artifacts anyway) I am using the nearest value which is 125%. I assume that your results would be similar.

Does it work for you if you set the global scaling to 125% or 150%? It might even be that you do not have to do the individual manual adjustments to Blender and Godot anymore after doing so because they might also pick up the scaling factor of the operating system.

Rogemcy commented 2 weeks ago

Thanks for the info, @Rogemcy!

LMMS currently assumes that the global scaling is set to a value which compensates for higher DPI values. In a nutshell, 96 DPI is assumed to be 100%. To find out the scaling factor to be used you have to divide the actual DPI of the monitor by 96.

Example: I have a 27" monitor with a resolution of 2560x1440. This means that the physical DPI is around 117. Using the formula above the resulting scaling factor is 117 / 96 = 1.21875. Because the option to set the scaling to 121,875% is not provided (and it would lead to ugly artifacts anyway) I am using the nearest value which is 125%. I assume that your results would be similar.

Does it work for you if you set the global scaling to 125% or 150%? It might even be that you do not have to do the individual manual adjustments to Blender and Godot anymore after doing so because they might also pick up the scaling factor of the operating system.

Thanks for answering! But I don't want to change my Win10 global scaling ONLY for using LMMS while other software still need 2560*1440 resolution.

michaelgregorius commented 2 weeks ago

Thanks for answering! But I don't want to change my Win10 global scaling ONLY for using LMMS while other software still need 2560*1440 resolution.

I am not sure if I understand your answer correctly but the resolution is not changed if you set a global scaling factor. It's just how the 2560*1440 pixels are used.

Aren't some other applications very small as well with the setting at 100%? For example, aren't the desktop icons very small? Or the font of the file explorer?

Unfortunately, implementing an option in the settings which would set the font size for the whole application is not trivial because the application currently uses a mix of potentially scalable fonts which are often defined in style sheets and hard-coded pixel sized fonts which are defined in code.

More information can be found in the following comments: https://github.com/LMMS/lmms/issues/6185#issuecomment-2335109648, https://github.com/LMMS/lmms/issues/6185#issuecomment-2271652574.

Rogemcy commented 2 weeks ago

Thanks for answering! But I don't want to change my Win10 global scaling ONLY for using LMMS while other software still need 2560*1440 resolution.

I am not sure if I understand your answer correctly but the resolution is not changed if you set a global scaling factor. It's just how the 2560*1440 pixels are used.

Aren't some other applications very small as well with the setting at 100%? For example, aren't the desktop icons very small? Or the font of the file explorer?

Unfortunately, implementing an option in the settings which would set the font size for the whole application is not trivial because the application currently uses a mix of potentially scalable fonts which are often defined in style sheets and hard-coded pixel sized fonts which are defined in code.

More information can be found in the following comments: #6185 (comment), #6185 (comment).

Thanks for the info !

michaelgregorius commented 2 weeks ago

Thanks for the info !

You're welcome!