Как изменить размер окна с учетом настроек Xft.dpi? - PullRequest
0 голосов
/ 09 апреля 2020

Я обновляю простое приложение X, чтобы использовать Xft для получения плавных шрифтов. Приложение отображает сообщение фиксированной длины, таким образом, размер окна устанавливается в коде 640 x 120 и рисуется с использованием XCreateSimpleWindow:

    int win_width = 640, win_height = 120;
    if (width >= win_width) {
      x += (width - win_width) / 2;
    } else {
      x -= (win_width - width) / 2;
    }
    if (height >= win_height) {
      y += (height - win_height) / 2;
    } else {
      y -= (win_height - height) / 2;
    }
    printf("Placing at (%d, %d) size (%d, %d)\n", x, y, win_width, win_height);
    Window win = XCreateSimpleWindow(dpy, RootWindow(dpy, screen),
                                     x, y, win_width, win_height, 1,
                                     fg.pixel, bg.pixel);

При значении по умолчанию Xft.dpi: 96 размер окна подходит и строка отображается правильно. Однако изменение на Xft.dpi: 192 изменяет размер шрифта, но не размер окна. Как принять этот параметр во внимание при рисовании окна?

...