LINUX.ORG.RU

Заблудился в трёх соснах, помогите выбраться

 , ,


0

2

Здравствуйте.

Понравилась запускалка для иксов, склонировал гит, makepkg -si, запустил, и упс.

И в запускалке, и в системе настроен один и тот же шрифт DejaVuSansM Nerd Font Regular 10. В системе настроено DPI 100. Практически уверен, что софтинка упорно продолжает существовать в режиме DPI 96.

Помогите, пожалуйста, отмасштабировать приложение по феншую. Вчера весь день честно смотрел в код с лицом Чингачгука, но что в этой крохотульке идёт не так я до сих пор не пойму.

Спасибо за внимание.

Апдейт. Пришлось полезть в код и шевельнуть головой. Дело было в неотключаемой тени размером 1 пиксель, и которую софтина у_ч_и_т_ы_в_а_л_а при вычислении высоты шрифта (и которую не было видно на фоне окружающей среды, Карл!). Убил в исходнике тень, пересобрал, назначил шрифту размер 10+1=11, всё хорошо.

★★★★★

Последнее исправление: piyavking (всего исправлений: 10)

запустил, и упс

Долго разглядывал скрин, так и не понял в чём проблема.

Практически уверен, что софтинка упорно продолжает существовать в режиме DPI 96.

Мне кажется она такими вещами как dpi не заморачивается.

firkax ★★★★★
()

в исходнике в функции load_default_font на строке 1304 видим сие: font = imlib_load_font("OpenSans-Regular/10"); если поэкспериментировать с числом 10 и попересобирать, то можно заметить чудеснейшие изменения в размере шрифта, который мы видим.

Пойдет? Или надо в конфиг вынести? Или чтоб какое-то значение dpi где-то вычитывал и уже пересчитывал в размер шрифта?

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

Я в сборках достаточно новенький человек, действовал чисто по логике. После makepkg остался пакет-архив, я там всё поперезаменял на своё DejaVuSansMNerdFontPropo-Regular/10, потом сказал пакету "встань и иди pacman -U" и сейчас он там по факту в настройках в /etc исправно пребывает.

Понимаешь, с самим шрифтом всё ок, он такой, какой нужно: видишь на скриншоте ярлык «Ar0ndr» - нолик там какой надо, с точкой. Затык с его размером, а затык с размером шрифта я прозреваю в неправильной переменной масштабирования интерфейса, которая откуда-то взялась, которая равна 96, и которую надо явно сказать иксланчу, чтоб он с этим ключом запустился, и стал таким, как я хочу.

Так как в самой софтинке вляпываться действительно не во что, то это у меня в системке чего-то ей не хватает.

Я пробовол всякие

xrdb -merge <(echo "Xft.dpi: что_нибудь")
ему в терминале перед запуском сообщать.

Иксовому двухпанельнику worker, который тоже в своём роде могучий простой малыш, это без проблем пропорционально разнесло интерфейс вместе со шрифтами так, как мне и было надо.

Файрфокс тоже на эту площадную брань реагирует.

Xlunch же держится непоколебимо, как левый клык у Серафимы Акакиевны, и чихать на подобные грязные трюки хотел(

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

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

Я тут раньше выше откаментил, что дело в других вещах. Вот, скажем, нет у меня в системе pixbuf'а или murrine какой-нибудь, так в file-roller каком-нибудь у меня тоже шрифты непропорциональные, но я его запускаю раз в сто лет, и готов с этим смириться. Так и тут что-то такое...

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

Я пробовал, я ж не идиот. Получается «перелёт» по размеру.

Дробные параметры высоты софтинка употреблять, естественно, отказывается, и я, честно говоря, не очень её за это виню...

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

С DejaVuSansMono/10 ровно такая же беда, увы. Может, сглаживание какое-нибудь, rgba там или хинтинг размер сжирают?...

Автор пишет: «only pure Xlib and Imlib2». Imlib2, НЯП, это картинки, вот и вопрос: как в лоб сказать икслибу раздуть интерфейс (или только шрифт) в такое количество процентов, какое ему скажут?...

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

А ещё стою на асфальте в лыжи обутый и думаю: как может иксовая прога игнорировать ключи xresources?

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

Вообще странное приложение. Собрал, но не устанавливал, может у меня от этого и проблемы, но вот лаунчеру пришлось указывать полный или относительный путь до файла шрифта, кроме того она не читает десктоп файлы, ищет меню в /etc/xlunch, которого понятно нет. В общем просто удалил, тем более, что есть rofi.

dmitry237 ★★★★
()

В системе настроено DPI 100

Но зачем? Это просто способ получить проблем на ровном месте. И даже при кратном масштабировании тулкитам плевать на эту величину. Оно актуально лишь для редких приложений типа xterm.

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

Лучший способ получить проблемы на ровном месте - это быть. Оно там появилось не помню почему из-за каких-то появившихся на ровном месте проблем, и там и останется, чтоб у меня с другого конца что-нибудь не отвалилось.

Именно хтерму, ЧСХ, на эту величину как раз глубоко и плевать, запускается с малюсенькими буквами, но мне на это тоже глубоко плевать, потому что urxvt... Спасибо, анон, за неожиданный взгляд на проблему: может и xterm у меня кривится примерно по этой причине, что и хлунч?...

Вспомнил, почему DPI 100: без него моржопится шрифт у всяких ардуров с элэмэмэсами. Именно из-за них оно и появилось.

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

Читает она дескоп-файлы, и entries.dsv из них формирует, там в пакете несколько совсем уж микроскриптиков для такого рода дел прилагается. Но с этим всем я раскапываться буду, когда шрифт победю)

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

может у меня от этого и проблемы

а какие проблемы были, оно не запустилось? Или тоже запустилось с мелким шрифтом? Я рад стать в курсе, что ты его в общем просто удалил, но здесь форум для месье, которые знают толк, и я требую грязных подробностей)

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

на первый камент отвечаю в последнюю очередь, экий я молодец конечно, сорян...

так и не понял в чём проблема

шрифт у ярлыков отличается по размеру от системного шрифта.

Мне кажется она такими вещами как dpi не заморачивается

И очень может быть, что дело как раз в этом, до меня выше веткой это уже донесли.

Но как мне тогда просто сказать ей, чтоб она раздулась? Как довести до Xlib эту магическую дробь? Твои буквы выглядят умно, может ты знаешь?

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

Именно хтерму, ЧСХ, на эту величину как раз глубоко и плевать

Разницу в четыре точки ты не увидишь, наверное, но оно работает. Это единственный способ масштабировать xterm, ничего новее он не знает. У меня задано 192 на случай, если я зачем-то захочу его запустить.

anonymous
()
Ответ на: комментарий от piyavking

Оно дробные размеры принимает? Попробуй 9.6 вместо 10 - уменьшишь на 4%.

чтоб она раздулась?

100 dpi это уменьшение на 4%, по сравнению с 96, а не увеличение.

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

Разницу в четыре точки ты не увидишь, наверное

глаза у меня ушатанные, конечно, но 4 пикселя без бинокля разгляжу.

хтерм-то может и можно так масштабировать, да выясняется, что так можно масштабировать практически всё, кроме вот конкретно нужного мне случая)

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

Оно дробные размеры принимает?

Конечно, нет. Оно вполне может вообще только целые числа понимать - крайне экономная штучка, чем и зацепила)

100 dpi это уменьшение на 4%, по сравнению с 96, а не увеличение.

xrdb -merge <(echo «Xft.dpi: 80»);worker

xrdb -merge <(echo «Xft.dpi: 120»);worker

Вот как себя worker ведёт, так бы я и от xlunch хотел. Мне б его вообще в принципе шевельнуть, а уж в какую сторону - это я, думаю, уже не промажу. Ни gtk, ни qt в хланче нету, и все заклинания с него стекают, как с гуся вода. Последняя надежда на «Xft.что_то_такое:», но и тут глухота...

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

а какие проблемы были, оно не запустилось?

Я про них и написал. Не определяет шрифты по названию, только по пути к файлу шрифта:

/usr/share/fonts/TTF/RobotoMono-Regular.ttf # будет работать
Roboto Mono Regular  # не будет работать

Для чего тогда общепринятые директории, которые к тому же прописаны в /etc/fonts/fonts.conf
Ну и пустое меню, ни одной иконки.

Еще раз, я просто собрал и из того же каталога запустил.
Для сравнения, одно время пользовался собранным rofi, просто перенес с другого ноута, он корректно работал без установки.

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

исходники править смысла нет, дело не в них:

Оно не нашло у меня OpenSans-Regular/10 - оно закрылось. Я указал параметр -f DejaVuSansMNerdFontPropo-Regular/10 - оно запустилось с этим параметром, и требуемое DejaVuSansMNerdFontPropo-Regular/10 корректно отрисовало. То, что оконечный масштаб не тот его и вправда не волнует. Прямо хоть процедуру соответствующую в интернете ищи и в xlunch.c вставляй)))

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

Функционал rofi у меня и так как у awesomца в полном объёме по Win+P присутствует, я /menubar/init.lua вообще с убунты в арч, не трогая, перенёс.

Что совершенно не мешает мне страстно хотеть топикрелейтед. Ярлыки - это ярлыки. И то я не очень доволен, что xlunch не позволяет у себя на морде в произвольном месте эти ярлыки фиксировать, как на «настоящем» рабстоле, но ради концепции, которая мне понравилась, решил, что это не баг, а фича)

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

Смог в полном объёме (в апдейте к посту расписал).

В такую клёвую прогу засадить такого мерзкого таракана можно только из вредительских соображений, я считаю)

piyavking ★★★★★
() автор топика