LINUX.ORG.RU
ФорумTalks

Появилась программа setgoodxfontz

 , ,


0

1

Здравствуйсте, дорогие юзеры, у которых есть проблемы с настройкой шрифтов!

Теперь появилась программа для разворачивания конфига шрифтов в хомяк юзера. Всего один вжух и шрифты в иксах становятся мягкими и шелковистыми!

Скачать: https://github.com/saahriktu/setgoodxfontz

★★★★★

Запускать из под рута и ни в коем случае не беспокоиться, если будут ошибки вида что не может удалить какой-то файл из /proc?

cvs-255 ★★★★★ ()
Ответ на: комментарий от RazrFalcon

Нет, текст (который пишется в конфиг) в виде hex-кодов.

saahriktu ★★★★★ ()
Ответ на: комментарий от cvs-255

Исключительно из под юзера! Программа пишет конфиг тому юзеру, от которого она запущена.

Если конфиг нужен обычному юзеру, то и запускать из под обычного юзера.

saahriktu ★★★★★ ()
	if [ ! -d "$(DESTDIR)$(prefix)/bin" ]; then mkdir -p $(DESTDIR)$(prefix)/bin; fi
	install -m755 setgoodxfontz $(DESTDIR)$(prefix)/bin

Сделайте мне развидеть это.

gremlin_the_red ★★★ ()
Ответ на: комментарий от gremlin_the_red

Дискриминация однострочных программ на ЛОРе!

Даже .COM длиной в один байт является программой. А уж это — и подавно.

mertvoprog ()
Ответ на: комментарий от mord0d
  1. Читает $HOME в переменную usrhouse
  2. Присваивает переменной fntcfgdir значение usrhouse + '/.config/fontconfig'
  3. Присваивает переменной fntcfgfile значение fntcfgdir + '/fonts.conf'
  4. Проверяет наличие директории fntcfgdir, если её нет пытается создать рекурсивно, если не получается программа вылетает с ошибкой 'Error: access denied'
  5. Пишет в файл fntcfgfile конфиг
saahriktu ★★★★★ ()
Ответ на: комментарий от saahriktu

До четвёртого пункта включительно всё понятно, паскаль — не брайнфак, хороший, внятный язык, можно разобрать даже без опыта с, но дальше…

Пишет в файл fntcfgfile конфиг

Что конкретно оно пишет (желательно побайтно ☺)? Там же в сорцах каша какая-то нечитаемая.

mord0d ★★★ ()
Ответ на: комментарий от mord0d
00000000  3c 3f 78 6d 6c 20 76 65  72 73 69 6f 6e 3d 27 31  |<?xml version='1|
00000010  2e 30 27 3f 3e 0a 3c 21  44 4f 43 54 59 50 45 20  |.0'?>.<!DOCTYPE |
00000020  66 6f 6e 74 63 6f 6e 66  69 67 20 53 59 53 54 45  |fontconfig SYSTE|
00000030  4d 20 27 66 6f 6e 74 73  2e 64 74 64 27 3e 0a 3c  |M 'fonts.dtd'>.<|
00000040  66 6f 6e 74 63 6f 6e 66  69 67 3e 0a 09 3c 6d 61  |fontconfig>..<ma|
00000050  74 63 68 20 74 61 72 67  65 74 3d 22 66 6f 6e 74  |tch target="font|
00000060  22 3e 0a 09 09 3c 65 64  69 74 20 6d 6f 64 65 3d  |">...<edit mode=|
00000070  22 61 73 73 69 67 6e 22  20 6e 61 6d 65 3d 22 61  |"assign" name="a|
00000080  6e 74 69 61 6c 69 61 73  22 3e 0a 09 09 09 3c 62  |ntialias">....<b|
00000090  6f 6f 6c 3e 74 72 75 65  3c 2f 62 6f 6f 6c 3e 0a  |ool>true</bool>.|
000000a0  09 09 3c 2f 65 64 69 74  3e 0a 09 09 3c 65 64 69  |..</edit>...<edi|
000000b0  74 20 6d 6f 64 65 3d 22  61 73 73 69 67 6e 22 20  |t mode="assign" |
000000c0  6e 61 6d 65 3d 22 65 6d  62 65 64 64 65 64 62 69  |name="embeddedbi|
000000d0  74 6d 61 70 22 3e 0a 09  09 09 3c 62 6f 6f 6c 3e  |tmap">....<bool>|
000000e0  66 61 6c 73 65 3c 2f 62  6f 6f 6c 3e 0a 09 09 3c  |false</bool>...<|
000000f0  2f 65 64 69 74 3e 0a 09  09 3c 65 64 69 74 20 6d  |/edit>...<edit m|
00000100  6f 64 65 3d 22 61 73 73  69 67 6e 22 20 6e 61 6d  |ode="assign" nam|
00000110  65 3d 22 68 69 6e 74 69  6e 67 22 3e 0a 09 09 09  |e="hinting">....|
00000120  3c 62 6f 6f 6c 3e 74 72  75 65 3c 2f 62 6f 6f 6c  |<bool>true</bool|
00000130  3e 0a 09 09 3c 2f 65 64  69 74 3e 0a 09 09 3c 65  |>...</edit>...<e|
00000140  64 69 74 20 6d 6f 64 65  3d 22 61 73 73 69 67 6e  |dit mode="assign|
00000150  22 20 6e 61 6d 65 3d 22  68 69 6e 74 73 74 79 6c  |" name="hintstyl|
00000160  65 22 3e 0a 09 09 09 3c  63 6f 6e 73 74 3e 68 69  |e">....<const>hi|
00000170  6e 74 73 6c 69 67 68 74  3c 2f 63 6f 6e 73 74 3e  |ntslight</const>|
00000180  0a 09 09 3c 2f 65 64 69  74 3e 0a 09 09 3c 65 64  |...</edit>...<ed|
00000190  69 74 20 6d 6f 64 65 3d  22 61 73 73 69 67 6e 22  |it mode="assign"|
000001a0  20 6e 61 6d 65 3d 22 6c  63 64 66 69 6c 74 65 72  | name="lcdfilter|
000001b0  22 3e 0a 09 09 09 3c 63  6f 6e 73 74 3e 6c 63 64  |">....<const>lcd|
000001c0  6c 65 67 61 63 79 3c 2f  63 6f 6e 73 74 3e 0a 09  |legacy</const>..|
000001d0  09 3c 2f 65 64 69 74 3e  0a 09 09 3c 65 64 69 74  |.</edit>...<edit|
000001e0  20 6d 6f 64 65 3d 22 61  73 73 69 67 6e 22 20 6e  | mode="assign" n|
000001f0  61 6d 65 3d 22 72 67 62  61 22 3e 0a 09 09 09 3c  |ame="rgba">....<|
00000200  63 6f 6e 73 74 3e 6e 6f  6e 65 3c 2f 63 6f 6e 73  |const>none</cons|
00000210  74 3e 0a 09 09 3c 2f 65  64 69 74 3e 0a 09 3c 2f  |t>...</edit>..</|
00000220  6d 61 74 63 68 3e 0a 3c  2f 66 6f 6e 74 63 6f 6e  |match>.</fontcon|
00000230  66 69 67 3e 0a                                    |fig>.|
saahriktu ★★★★★ ()
Ответ на: комментарий от saahriktu

3.14-здец! Зачем конвертировать в байткод и писать на паскале, если можно было просто положить в репо конфиг? ☺

mord0d ★★★ ()

Увидел незнакомый юзерпик, увидел «fontz» и решил, что прибежал какой-то школьник хвастаться своим первым скриптом (у меня в своё время тоже был такой, поднимал eth0 и pptp, очень полезно, когда у тебя переустановка системы происходит каждые три дня).
А потом вчитался в никнейм. М-да.

dogbert ★★★★★ ()
Ответ на: комментарий от gremlin_the_red

Не всем нужен конфиг в репе.

А в случае правок (которые могут понадобиться, хотя бы при изменении дефолтов fontconfig при обновлении) конвертировать байткод в текст, править его, снова переводить в байткод… Я понимаю что @saahriktu не ищет лёгких путей, но тут прям велосипед ради велосипеда. Я бы понял, если бы это было в рамках изучения Pascal, но автор вроде не первый день на нём пишет.

mord0d ★★★ ()
Ответ на: комментарий от mord0d

Мне так удобнее разворачивать конфиг на нескольких машинах. Поделился с теми, кому тоже нужно. Если Вам не нужно - значит, Вам не нужно.

saahriktu ★★★★★ ()
Ответ на: комментарий от mord0d

Этот конфиг лично меня устраивает. Если он кого-то не устраивает, то он может отредактировать конфиг прямо в ~/.config/fontconfig/fonts.conf , а потом вставить в программу вместо этого.

saahriktu ★★★★★ ()
Ответ на: комментарий от mord0d

переводить в байткод

Вы так говорите, как будто бы это делается вручную. У меня есть скрипт dumpittopaswrite:

#!/bin/bash
cat "$1" | universaltopaz | sed 's/^/write\(fptr,\ /;s/$/\);/;'
universaltopaz - программа, которая конвертирует данные в строки Паскаля в hex виде. Если я забыл её выложить, то надо будет потом выложить, да.

saahriktu ★★★★★ ()
Последнее исправление: saahriktu (всего исправлений: 1)
Ответ на: комментарий от kardapoltsev

Нет, не проще. И, да, двумя строчками здесь не обойтись.

Так-то, да, конфиг можно и руками копировать. Но здесь вся суть в удобстве.

saahriktu ★★★★★ ()
Ответ на: комментарий от saahriktu

Речь не о шрифтах, а о способе внесения изменений в конфиг.

Зачем компилировать и запускать твой код, если быстрее будет вставить конфиг ручками в текстовом редакторе?

Более того, как можно быть уверенным в правильности твоего конфига, если ты его запрятал в байт-код?

neocrust ★★★★★ ()
Ответ на: комментарий от neocrust

В том и суть, что не быстрее. Чтобы выполнить «emacs ~/путь/к/конфигу» нужно набирать в командной строке это самое «emacs ~/путь/к/конфигу». Равно как и для «mv конфиг ~/путь/к/директории» нужно опять же набирать все эти пути в командной строке.

А тут просто

git clone <копипаст URL'а>[Enter]
cd s[Tab][Enter]
make[Enter]
./s[Tab][Enter]

Конфиг мной проверен и меня устраивает. Если же кого-то он не устраивает, то его всегда можно отредактировать.

saahriktu ★★★★★ ()
Ответ на: комментарий от saahriktu

Чтобы выполнить «emacs ~/путь/к/конфигу» нужно набирать в командной строке это самое «emacs ~/путь/к/конфигу».

А тут просто (перечисляет стонадцать команд).

«Всё ясно. Героин, марихуана, крэк.»

Korchevatel ★★★★ ()
Последнее исправление: Korchevatel (всего исправлений: 1)
Ответ на: комментарий от Korchevatel

Не все юзают KDE и вообще помнят про настройки в хомяке.

saahriktu ★★★★★ ()
Ответ на: комментарий от saahriktu

меня устраивает

Это-то и смущает. В данном случае ты же абсолютно всё сделал максимально идиотски и через жопу. Есть сильное подозрение, что и конфиг абсолютно черезжопный, непригодный для использования людьми с глазами.

gremlin_the_red ★★★ ()
Ответ на: комментарий от gremlin_the_red

Я сделал как удобнее мне. Разным людям удобно разное.

saahriktu ★★★★★ ()
Ответ на: комментарий от gremlin_the_red

Есть сильное подозрение, что и конфиг абсолютно черезжопный, непригодный для использования людьми с глазами.

Он шестнадцатиричный код внутри использовал. Выводы делайте сами.

Korchevatel ★★★★ ()
Ответ на: комментарий от saahriktu

Мне так удобнее разворачивать конфиг на нескольких машинах.

У меня для этого фреймворк целый реализован, и конфиги можно раскидывать в зависимости от хостнейма, архитектуры и прочих индивидуальных признаков. А тут всё равно ручками, да ещё и слепая замена.

Если Вам не нужно - значит, Вам не нужно.

Этот конфиг мне просто не подходит. ☺

Этот конфиг лично меня устраивает.

Так если у кого-то уже что-то настроено, оно будет заменено, что не есть хорошо.

universaltopaz - программа, которая конвертирует данные в строки Паскаля в hex виде. Если я забыл её выложить, то надо будет потом выложить, да.

А вот это будет круто. Я не пишу на паскале, но на реализацию посмотрел бы.

mord0d ★★★ ()
Ответ на: комментарий от Korchevatel

«Всё ясно. Героин, марихуана, крэк.»

Одновременно и в больших количествах!

Но меня больше напрягает не много телодвижений, а то что эти телодвижения гарантированно убьют уже имеющийся конфиг. Без каких-либо бэкапов (хотя бы fonts.conf.bak или fonts.conf~), просто слепая замена. Плевать что там юзер хочет, Поттерингу саахрикту виднее!

mord0d ★★★ ()
Последнее исправление: mord0d (всего исправлений: 1)
Ответ на: комментарий от Korchevatel

Это после того как я выключил радугу в /etc. Нормальных настроек шрифтов в /etc после этого мне найти так и не удалось.

KDE же взяло настройки именно из /etc ничего не исправляя.

saahriktu ★★★★★ ()
Ответ на: комментарий от saahriktu

Всегда можно подкрутить имеющийся конфиг. Главное чтобы он был. А есть он не у всех.

Моя позиция против заключается только в том что юзер по незнанию может просрать уже имеющийся конфиг (с алиасами и прочим). Если в сабж добавить проверку на наличие конфига и его бэкап, будет гораздо лучше. Это единственная претензия (я не спорю о содержимом конфига, это уже вкусовщина). ☺

В openSUSE. После того, как я выключил радугу в /etc .

Ну, в RPM-based обычно в систему не лезут. ШГ для юзера должно настраиваться самим юзером, для того пользовательские конфиги и проверяются до системных, чтобы если что, можно было свалиться в дефолт.

mord0d ★★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)