freedomofpress / securedrop-client

a Qt-based GUI for SecureDrop journalists 📰🗞️
GNU Affero General Public License v3.0
41 stars 39 forks source link

Ensure text scales responsively to DPI settings #495

Open rmol opened 5 years ago

rmol commented 5 years ago

We should ensure we're enabling Qt's high DPI support. It might be as simple as setting QT_AUTO_SCREEN_SCALE_FACTOR=1 in the environment, and makes the client a lot more usable on high resolution displays.

Without it, text can be so small as to be nearly illegible, and is sometimes clipped -- I saw this as early as the login box.

kushaldas commented 5 years ago

Does Qube work on any of those high DPI systems?

rmol commented 5 years ago

It does. They're definitely adding support.

I think we might have some more general scaling problems; on my 1920x1080 T480 I increased Xft.dpi in ~/.Xresources and our text doesn't scale like other apps'. In fact even the solution I suggested above doesn't seem to affect the login dialog labels, though everything else scales.

Here are two instances (on my 4K Debian system), the larger one with QT_AUTO_SCREEN_SCALE_FACTOR=1 and the smaller without:

image

Note the clipping and smaller button text in the unscaled instance.

Once logged in, though, the text in headers and conversations is larger and much more legible.

Unfortunately, using QT_AUTO_SCREEN_SCALE_FACTOR=1 on my T480, the login dialog is blown up so big it no longer fits on my screen; the bottom controls are out of reach below the edge of the screen.

This is probably going to be more complicated than I'd hoped. :frowning_face:

emkll commented 3 years ago

By default, looks nice in 4k login

When changing the text dpi/scaling option in appearance -> dpi (doubling from 96 to 180), only the title bar text is scaled: double-scaling-source-list double-scaling

eloquence commented 3 years ago

This should not impact most users with current recommended hardware & settings, but still worth researching longer term as we broaden hardware & display support and improve accessibility.

sssoleileraaa commented 3 years ago

Just some quick notes on what my dom0 Appearance config looks like on a fresh install of Qubes 4.0.4:

I haven't looked into this as much as @rmol, but it looks like this is still open: https://github.com/QubesOS/qubes-issues/issues/1951.