| Summary: | ghostty: Не применяются настройки выставленные в конфиге | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Sisyphus | Reporter: | Anton Zhukharev <ancieg> | ||||
| Component: | ghostty | Assignee: | Nobody's working on this, feel free to take it <nobody> | ||||
| Status: | CLOSED NOTABUG | QA Contact: | qa-sisyphus | ||||
| Severity: | minor | ||||||
| Priority: | P5 | CC: | sorochanilyav | ||||
| Version: | unstable | ||||||
| Hardware: | x86_64 | ||||||
| OS: | Linux | ||||||
| Attachments: |
|
||||||
$ cat ~/.config/ghostty/config background = ffffff foreground = 000000 selection-invert-fg-bg = true font-family = "DejaVu Sans Mono" font-size = 16 font-style = Regular Всё применяется. Скриншотик приложить? Уточнение: не работает только font-family. (Ответ для Anton Zhukharev на комментарий #2) > Уточнение: не работает только font-family. Наверное, ваш Consolar недостаточно хорош, или не так называется. Попробуйте другие шрифты, УМВР. $ grep family ~/.config/ghostty/config #font-family = "DejaVu Sans Mono" font-family = "Fixedsys Excelsior 2.00" (In reply to Yuri N. Sedunov from comment #3) > (Ответ для Anton Zhukharev на комментарий #2) > > Уточнение: не работает только font-family. > > Наверное, ваш Consolar недостаточно хорош, или не так называется. > > Попробуйте другие шрифты, УМВР. > $ grep family ~/.config/ghostty/config > #font-family = "DejaVu Sans Mono" > font-family = "Fixedsys Excelsior 2.00" Все названия шрифтов беру из выхлопа "ghostty +list-fonts". И ошибка у меня, похоже, со всеми шрифтами воспроизводится. Проверил как на "Consolas Nerd Font", так и на "Liberation Mono", "DejaVu Sans Mono", "Droid Sans Mono" и "FreeMono". Недавно в апстриме тоже кто-то сообщил о подобном: https://github.com/ghostty-org/ghostty/discussions/7043 (Ответ для Anton Zhukharev на комментарий #4) > (In reply to Yuri N. Sedunov from comment #3) > > (Ответ для Anton Zhukharev на комментарий #2) > > > Уточнение: не работает только font-family. > > > > Наверное, ваш Consolar недостаточно хорош, или не так называется. > > > > Попробуйте другие шрифты, УМВР. > > $ grep family ~/.config/ghostty/config > > #font-family = "DejaVu Sans Mono" > > font-family = "Fixedsys Excelsior 2.00" > > Все названия шрифтов беру из выхлопа "ghostty +list-fonts". > > И ошибка у меня, похоже, со всеми шрифтами воспроизводится. Проверил как на > "Consolas Nerd Font", так и на "Liberation Mono", "DejaVu Sans Mono", "Droid > Sans Mono" и "FreeMono". Ну, может их трудно отличить? :) Я ж привел показательный пример с "Fixedsys Excelsior 2.00", который ни с чем не перепутаешь. С ним тоже не работает? (In reply to Yuri N. Sedunov from comment #6) > (Ответ для Anton Zhukharev на комментарий #4) > > (In reply to Yuri N. Sedunov from comment #3) > > > (Ответ для Anton Zhukharev на комментарий #2) > > > > Уточнение: не работает только font-family. > > > > > > Наверное, ваш Consolar недостаточно хорош, или не так называется. > > > > > > Попробуйте другие шрифты, УМВР. > > > $ grep family ~/.config/ghostty/config > > > #font-family = "DejaVu Sans Mono" > > > font-family = "Fixedsys Excelsior 2.00" > > > > Все названия шрифтов беру из выхлопа "ghostty +list-fonts". > > > > И ошибка у меня, похоже, со всеми шрифтами воспроизводится. Проверил как на > > "Consolas Nerd Font", так и на "Liberation Mono", "DejaVu Sans Mono", "Droid > > Sans Mono" и "FreeMono". > > Ну, может их трудно отличить? :) Я ж привел показательный пример с "Fixedsys > Excelsior 2.00", который ни с чем не перепутаешь. С ним тоже не работает? Вроде бы отличимы. Но все равно посмотрел с Fixedsys Excelsior - правда с версией 3.01 - все равно шрифт не меняется. Да, можно ж попробовать с новым пользователем и не в кедах, если вы в них. (In reply to Yuri N. Sedunov from comment #8) > Да, можно ж попробовать с новым пользователем и не в кедах, если вы в них. Не буду, так как нашел причину, после устранений которой шрифт стал меняться. Причина в присутствии файла ~/.config/fontconfig/fonts.conf со следующим содержимым: ``` <fontconfig> <match target="pattern"> <test name="family" qual="any"> <string>sans</string> </test> <edit binding="strong" mode="prepend" name="family"> <string>Liberation Sans</string> </edit> </match> <match target="pattern"> <test name="family" qual="any"> <string>sans-serif</string> </test> <edit binding="strong" mode="prepend" name="family"> <string>Liberation Sans</string> </edit> </match> <match target="pattern"> <test name="family" qual="any"> <string>serif</string> </test> <edit binding="strong" mode="prepend" name="family"> <string>Liberation Serif</string> </edit> </match> <match target="pattern"> <test name="family" qual="any"> <string>monospace</string> </test> <edit binding="strong" mode="prepend" name="family"> <string>JetBrainsMono Nerd Font Mono</string> </edit> </match> </fontconfig> ``` Однако мне не совсем понятно почему другие приложения, в отличие от ghostty, так неадекватно на наличие пользовательского конфига fontconfig не реагируют. Кошмар какой-то... Юрий, можете поправить это чудо-поведение? У меня ~/.config/fontconfig/fonts.conf нет, все настройки только от нашего системного fontconfig'а, и всё работает. Что править неясно. (In reply to Yuri N. Sedunov from comment #10) > У меня ~/.config/fontconfig/fonts.conf нет, все настройки только от нашего > системного fontconfig'а, и всё работает. Что править неясно. Хотелось бы, чтобы шрифт можно было перезаписать в конфигурации ghostty, а не чтобы он ориентировался только на пользовательский конфиг fontconfig'а. В документации fontconfig'а нет ничего про то, что если есть пользовательский конфиг, то все приложения обязаны пользоваться только им и его настройками (хотя в исходниках ghostty я кода для этого сходу не нашел - возможно, что там плохо отрабатывает механизм выбора fallback-шрифтов в целом). ``` $ man 5 fonts-conf [...] $XDG_CONFIG_HOME/fontconfig/fonts.conf and ~/.fonts.conf is the conven‐ tional location for per-user font configuration, although the actual location is specified in the global fonts.conf file. please note that ~/.fonts.conf is deprecated now. it will not be read by default in the future version. [...] ``` Вы можете оказать большую услугу прежде всего себе, повесив багу в апстрим. Я знаю еще одного фаната Ghostty. Подписываю его на эту багу, -- может он захочет вам помочь. (In reply to Yuri N. Sedunov from comment #12) > Вы можете оказать большую услугу прежде всего себе, повесив багу в апстрим. > Я знаю еще одного фаната Ghostty. Подписываю его на эту багу, -- может он > захочет вам помочь. Оказывается, что все уже есть (и бага в апстриме и решение) - нужно только поискать получше: https://github.com/ghostty-org/ghostty/discussions/3015. Вкратце решение: убрать из fonts.conf для monospace из тэга <edit> аттрибут binding="strong". |
Created attachment 18211 [details] Ghostty startup log rpmquery: ghostty-1.1.3-alt1.x86_64 Не применяются вообще никакие настройки из конфига ~/.config/ghostty/config. Однако в логе при запуске указано, что используется конфиг по этому пути (см. лог в приложении ghostty-startup.log). Вот пример конфига: ``` background = ffffff foreground = 000000 selection-invert-fg-bg = true font-family = "Consolas Nerd Font" font-size = 16 font-style = Regular cursor-style = block cursor-style-blink = false window-padding-x = 2 window-padding-y = 2 window-width = 80 window-height = 24 bold-is-bright = true ```