rockowitz / ddcui

Graphical user interface for ddcutil - control monitor settings
http://www.ddcutil.com
GNU General Public License v2.0
147 stars 2 forks source link

Information cut off by narrow columns in HiDPI scaled desktop #26

Open taprobane99 opened 3 years ago

taprobane99 commented 3 years ago

Font size is too small, and the first 4 columns too narrow on my system (KDE plasma, 125% scaling, 144 dpi font) cutting off some of the information displayed.

Is is possible to either scale correctly with font DPI, or have adjustable font size in the GUI and adjustable column width?

rockowitz commented 3 years ago

Thank you for the report. A couple questions. Is the font size too small everywhere, or just in the Features view. Are you using the 0.2.0-dev branch, which was close to release, or the 0.1.2 release, which is quite ancient? If the latter, can you confirm the problem on 0.2.0-dev?

I have to admit that this project is the first time I've used Qt, and it's been a struggle to get things to format adequately. ddcui could use input from someone who's fluent in Qt.

taprobane99 commented 3 years ago

Screenshot_20210408_213948

I'm using the ddcui-git AUR package built today.

Screenshot attached to show problem. Hopefully it's an easy fix.

btw. I am not using system display scaling but have forced my font dpi to a higher value than default.

edit: same result using system display scaling >100%

rockowitz commented 3 years ago

I have looked into the hidpi issue. A a proper general solution is non-trivial and would greatly delay upcoming release 0.2.0. For now, I suggest that you experiment with setting environment variables before executing ddcui. The environment variables are QT_AUTO_SCREEN_SCALE_FACTOR, QT_SCALE_FACTOR, QT_SCREEN_SCALE_FACTORS.

Qt 5.14 saw significant enhancements to hidpi support, and added the following environment variables: QT_ENABLE_HIDPI_SCALING, QT_DEVICE_PIXEL_RATIO.

Notes:

Examples:

$ QT_ENABLE_HIDPI_SCALING=1 ddcui
$ QT_SCALE_FACTOR=1.33 ddcui
$ QT_SCREEN_SCALE_FACTORS=1,2

For more detailed documentation, see HighDPIDisplays