Linux эквивалент GetDpiForWindow / WM_DPICHANGED - PullRequest
0 голосов
/ 11 апреля 2020

Я пытаюсь настроить масштабирование 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 для это, но я не могу найти документацию о вызовах функций, которые требуются для этого.

...