Есть ли способ иметь разные настройки fontconfig для каждого экрана?
У меня два монитора 1080p, но один из них 13", а другой 27". Мне бы хотелось, чтобы на маленьком мониторе были сглаженные шрифты, а на большом — несглаженные.
решение1
xrdb
использует препроцессор C (потому что конечно же он это делает), поэтому он поддерживает условия. Вот фрагмент из моего .Xresources
:
#if SCREEN_NUM == 0
Xft.dpi: 157
#endif
#if SCREEN_NUM == 1
Xft.dpi: 96
Xft.antialias: 0
#endif
Теперь xrdb -merge
все будет сделано правильно на каждом мониторе, и когда вы войдете в систему, при условии, что один из бесчисленных скриптов инициализации X потрудится просмотреть ваш .Xresources
, он также будет настроен правильно.
(Обратите вниманиеКонфигурация шрифта Arch Linux(На странице есть и другие примеры, но в целях сохранения их для потомков я включил соответствующий пример выше.)
решение2
Вот как я это делаю:
- Настройте конфигурацию для вторичного монитора
.Xresources
и запуститеxrdb
- Запустите программу и поместите ее на второй монитор.
- Измените значения обратно
.Xresources
и запуститеxrdb
Вот пример скрипта для запуска Intellij Idea на дополнительном наклонном мониторе:
#!/bin/sh
sed -i 's/.*Xft.rgba:\s*rgb.*/Xft.rgba: vrgb/' /home/babken/.Xresources
xrdb /home/babken/.Xresources
intellij-idea-ultimate-edition &
sed -i 's/.*Xft.rgba:\s*vrgb.*/Xft.rgba: rgb/' /home/babken/.Xresources
xrdb /home/babken/.Xresources
Хотя это сработает, если вы запустите эту программу только на этом мониторе (как это делаю я).