Cubitect / cubiomes-viewer

An efficient graphical Minecraft seed finder and map viewer.
GNU General Public License v3.0
1.02k stars 60 forks source link

Right icons are tiny on High DPI screens #226

Closed NatoBoram closed 7 months ago

NatoBoram commented 1 year ago

I have a screen that's slightly bigger than 1080p, but the right icons seem to have a strict pixel count to them, so they appear tiny

2304p

Since they're smaller than characters, they're really hard to see

Cubitect commented 1 year ago

Afaik, it is common for application to be DPI unaware, and usually the desktop environment can provide a sensible scaling. I don't have a 4K monitor, so I'm not really able to optimize for or test with high DPI displays. The dark style sheet, that this project uses, seems to have taken a similar stance on the matter. If Pop!_OS/Gnome doesn't automatically provide a sensible scaling, you could try to set the Qt scale factor environment variable:

QT_SCALE_FACTOR=2 ./cubiomes-viewer
NatoBoram commented 1 year ago
QT_SCALE_FACTOR=2 ./cubiomes-viewer

With this, it seems like the scaling is somehow added to the one I already have, making the UI absolutely gigantic. The icons are still very small, but better

image

Cubitect commented 1 year ago

I have tried to avoid setting a fixed pixel size for icons in the newest 3.3. release, but I am not too hopeful that it'll change much. The checkboxes also appear very small and those are managed by Qt... You could try to additionally set the QT_AUTO_SCREEN_SCALE_FACTOR=0 environment variable to disable automatic scaling behavior and QT_FONT_DPI=96 to reset the font scale, or play around with a combination of these.

Cubitect commented 7 months ago

Version 3.4 now manages icon and text sizes more explicitly and allows you to specify a custom icon scale as well as fonts and font sizes. This should hopefully give enough options to make the tool usable on most displays.

Some built-in GUI icons, such as check boxes may, or may not, resize properly. This is a problem with Qt that I've tried to work around, but the results are still somewhat inconsistent.