aragonite
5 hours ago
Please consider making the UI respect the user's custom text scaling settings for accessibility. I'm not referring to DPI scaling but the TextScaleFactor value at HKCU\Software\Microsoft\Accessibility (see [1][2]) that users can set in Ease of Access > Display > Make text bigger.
(Failing that, adding basic support for scaling text or UI via ctrl+plus/minus would be a huge improvement!)
With the exception of Chromium/Chrome [3] this's been a persistent issue with Windows desktop apps from Google (most of these also use hard-coded control sizes making the problem worse).
[1] https://learn.microsoft.com/en-us/windows/apps/design/input/...
[2] https://learn.microsoft.com/en-us/uwp/api/windows.ui.viewman...
johnh-hn
3 hours ago
I'm split with this. If it helps other people, then I'm all for it. But speaking as someone who is legally blind and makes extensive use of these settings, Windows 10 accessibility drives me mad. I'm waiting for fractional scaling to improve for Linux so I can make the switch.
The problem with Make text bigger and Make everything bigger is they apply to every single application that supports them. Let's say I have two applications: A is comfortable enough to see and B isn't. If I change either of these settings to help me use B, A could now be a problem because it can take up too much screen real estate, which makes it unusable for a different reason.
This doesn't sound like much of a problem until you have 5 or more applications you're trying to balance via these two settings. In reality, it's more complex than I'm describing because I may need to change both settings to help with a new application, which then means I have to continuously test every other application I use to make sure they're all somewhat comfortable enough to use.
If an application I use updates to include support for these settings, I have to go through all this unplanned work again to try and make everything usable once more. It's frustrating.
I know people make fun of Electron, but one major plus point for me is I have per application scaling when using it, and so it gives me better accessibility than Windows does by far.
> (Failing that, adding basic support for scaling text or UI via ctrl+plus/minus would be a huge improvement!)
I'd consider this to be a better option.
BatteryMountain
3 hours ago
Try Fedora with KDE. It has fractional scaling, per display.
I set my laptop (1920x1080) to 120%, effectively making it 1600x900 but with very good physical size of things. I set my external panel (2560x1440) to 160%, effectively making it 1600x900 also. KDE even visualizes the two panels to be the same size. Ontop of these basic DPI settings, you can then tweak font/text even further. Its quite amazing. Windows cannot do custom dpi per monitor, only a single custom dpi that gets applied to all monitors.
If you do go down the fractional scaling rabit hole, make sure whatever values you pick, both the height and width ends without any fractions after applying your custom dpi... that elimnates all blurs. In my example above, 2560/1.6 and 1440/1.6 gives nice round numbers, even though the operating systems typically only offer 100/125/150/175/200 etc.
I built a small console app for myself that takes the resolution and tests all increments of 1% to see which resolution combinations gives values that don't end with fractions at the end. So it tells me which effective resolutions I will get at which % settings. Its awesome and made it so that I can easily make so that my laptop and external display has the same amount of space (or line of code) on the screen, even though they are different physical sizes.
johnh-hn
3 hours ago
Thanks for detailed response. Do you happen to know if this is a recent change in Fedora/KDE? I tried somewhat recently, although I can't remember quite when that was. Gnome had experimental support for fractional scaling at the time but it wasn't good enough to switch to.
> Windows cannot do custom dpi per monitor, only a single custom dpi that gets applied to all monitors.
Yeah, support for custom DPI in general isn't great. I've been using https://www.majorgeeks.com/files/details/windows_10_dpi_fix.... for years to at least partially help.
Edit: I think I answered my own question about how recent the change might have been: https://blogs.kde.org/2024/12/14/this-week-in-plasma-better-...
This seems to be just after I last tried. I'll give it another go, thanks BatteryMountain!
jchw
an hour ago
As a word of warning, it is still not 100% perfect. I've noticed that on my laptop, when the Zed editor is maximized, there is a tiny gap between it and the panel at the bottom. I think this happens when an app, even if it supports fractional scaling in general, can't handle a logical window size that is not a whole number. To be fair, this is one of the only apps I've really had any scaling issues with lately, and it is just a minor visual annoyance. The Linux DPI scaling story is finally pretty solid.
Also, many apps (including Electron/Chromium apps) will still run under XWayland when using a Wayland session by default, because there are still a handful of small issues and omissions in their Wayland drivers. (It's pretty minor for Electron/Chromium so you can opt to force it to use native Wayland if you want.) In case of XWayland apps, you'll have to choose between allowing X11 apps to scale themselves (like the old days) or having the compositor scale them (the scaling will be right, even across displays, but it will appear blurry at scales higher than 1x.) I still recommend the Wayland session overall; it gives a much more solid scaling experience, especially with multiple monitors.
johnh-hn
an hour ago
> In case of XWayland apps, you'll have to choose between allowing X11 apps to scale themselves (like the old days) or having the compositor scale them (the scaling will be right, even across displays, but it will appear blurry at scales higher than 1x.) I still recommend the Wayland session overall; it gives a much more solid scaling experience, especially with multiple monitors.
I'm wondering if this was the problem I was running into before – it sounds eerily familiar. I never got far enough to explore individual apps outside of preinstalled ones because I couldn't get comfortable enough. I appreciate your response as I wasn't aware of the different session types.
jchw
21 minutes ago
Yeah, it probably has something to do with this. In X11 sessions, the display server does not typically handle scaling. Instead, the desktop environments provide scaling preferences to UI toolkits that then do the scaling themselves. In Wayland, the display server does handle scaling.
In both X11 and Wayland, you should usually see most applications following your scaling preferences nowadays. In Wayland sessions, you can ensure that applications always appear at the correct size, though at the cost of "legacy" applications appearing blurry. This behavior is configured in the Display Settings in KDE Plasma.
Also possibly useful: if you like the KDE Plasma session, it has a built-in magnifier; just hold Ctrl+Meta and use the scroll wheel.
yndoendo
2 hours ago
Curious about GNOME fractal scaling issues you experience.
I currently have the experimental feature enable at 150% scale for a laptop screen at 2560x1600 resolution. Have not had any issues by itself nor with an external 3440x1400 at 100% scale with GNOME 48.
johnh-hn
an hour ago
I wish I could give you a better answer here, but I honestly don't remember. I only remember that something I needed was missing from it for me to make the switch.
okanat
2 hours ago
> Windows cannot do custom dpi per monitor, only a single custom dpi that gets applied to all monitors.
This is wrong. Windows supports per monitor DPI since Windows 8 and have an improved API since Windows 10. I find it the only good implementation among desktop OSes. It is the only one that guarantees that font renders align with the pixel grid.
Many old apps do not support this API though. It is opt-in and while there is a hybrid mode to let Windows scale fonts and Win32 components via API hooks, without implementing DPI change callback most apps turn into blurry mess.
Usually browsers have the gold standard implementation of those callbacks hence why Electron is used everywhere.
layer8
2 hours ago
Ideally, applications should use the Windows settings by default, but allow configuring a different scaling. Even more ideally, Windows should allow per-application settings, but until it does it’s the applications’ job.
johnh-hn
an hour ago
Part of my wonders if this is what Microsoft hoped would happen when they implemented the settings in the manner they did. But it hasn't played out that way.
Xss3
an hour ago
It is.
Any app implementation of the windows setting could expose a multiplier of it somewhere. They already did the hard part of building a dynamic UI...