Я пытаюсь настроить масштабирование DPI в моем приложении Linux. До сих пор я пробовал DisplayWidth()
и DisplayWidthMM()
, но в моей установке KDE это приводит к масштабированию 1,0 (даже если включено 1,5-кратное масштабирование.) xdpyinfo
также печатает 96 dpi, что явно неправильно, поэтому мне интересно, что мне здесь не хватает. Это сохраняется даже после того, как я вручную установил масштабирование с помощью xrandr --output DisplayPort-1 --scale 1.5x1.5
.
При Windows, функции GetDpiForWindow
достаточно, чтобы получить масштабирование, влияющее на дескриптор окна, и WM_DPICHANGED
повышается при переходе к экран с другим DPI (который, насколько я могу судить, X11 не поддерживает, но в любом случае.
Есть ли эквивалент для Linux? Я нашел различный код, ссылающийся на использование xrandr
для это, но я не могу найти документацию о вызовах функций, которые требуются для этого.