exebook / deodar

Классическая двухпанельная рабочая среда (коммандер) для О.С. Линукс
The Unlicense
72 stars 8 forks source link

Как поменять шрифт у Deodar'а ? #20

Open oxygenh opened 10 years ago

oxygenh commented 10 years ago

Что и где нужно написать? Заранее благодарен, Оксиген Аш.

vitalyster commented 10 years ago

У меня схожий вопрос - зачем deodar меняет шрифт терминала?

exebook commented 10 years ago

самое простое пока-что это открыть fontfind.js и найти knownGoodFonts = [список шрифтов] там стоит звёздочка напротив одного из шрифтов, попробуйте переставить звёздочку напротив другого шрифта и перезапустить деодар. по умолчанию вродебы звёздочка стоит напротив "*consola.ttf".

второй вариант более жосткий, найти в файле deodar.js строчку

    var A = TDeodar.create(this.chain.fontPath)

и вместо this.chain.fontPath поставить строковую константу (захардкодить, хехе) ПОЛНЫЙ ПУТЬ к шрифту. В кавычках разумеется. Например

    var A = TDeodar.create('/usr/share/fonts/truetype/courier.ttf')
exebook commented 10 years ago

Вопрос "зачем деодар меняет шрифт терминала" мне непонятен. Что вы хотите этим сказать?

vitalyster commented 10 years ago

@exebook ну я запустил gnome terminal, в нем стоит шрифт Х, запускаю node deodar.js, и зачем-то меняется шрифт.

exebook commented 10 years ago

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

vitalyster commented 10 years ago

Так вот если бы он открывал "свое окно", это в глаза бы не бросалось, а он в этом же самом окне гном-терминала манипулирует шрифтами.

oxygenh commented 10 years ago

Попробовал указанными способами: при правке fonfind.js шрифт поменялся, но не на тот, который хотелось (по гарнитуре может и не скажу точно что не тот, но я ему задавал точно не курсивный); при "хардкодерном" варианте поменяв вот так //var A = TDeodar.create(this.chain.fontPath) var A = TDeodar.create('/usr/share/fonts/truetype/freefont/mplus-1m-regular.ttf') получил при запуске "ошибка сегментирования"

exebook commented 10 years ago

Не представляю в чём может быть дело, про такой шрифт слышу впервые. А если указать путь к каким то другим шрифтам? К какомунибуть из провереных (список провереных в fontfind.js). Я сам пользуюсь consolas (consola.ttf) вытащил из папки Windows\Fonts но можно скачать и с сайта Микрософт.

oxygenh commented 10 years ago

Попробовал, сообщаю о результатах.

  1. В deodar.js вернул первоначальную строчку. В fonfind.js пометил звездочкой другой шрифт из штатно присутствующих там, предварительно убедившись, что у меня в системе такой имеется. Результат положительный.
  2. В deodar.js поправил в строчке на другой шрифт из "штатно присутсвующих", естественно с нужным путём к файлу. Результат положительный.
  3. Попробовал нужный мне шрифт переименовать и перенести в папку deodar'а (права чтение и запись). Поменял в deodar.js путьк и имя файла. Результат: всё та же ошибка сегментирования.

Может быть дело, действительно, в самом файле шрифта. У него самый большой размер, кстати, из всех перечисленный (1.2М).

В любом случае, если, навскидку, никаких мыслей о причинах этой ошибке нет, то и фик бы с ней. Есть гораздо более важные вещи, чем мои заморочки со шрифтами. Тем более штатный ДеЖаВюСансМоно мне тоже приглянулся.

exebook commented 10 years ago

Скачал этот фонт, и правда, програма падает, хотя, если запустить 20 раз, то хотя бы один раз сработает. Другое дело, что выглядит ужасно, похоже он не моношириный, то есть большинство символов моношириные, но не все из-за этого жесть. Может потому и падает. Визуальный анализ глифов показывает, что это и есть DejaVuSansMono только слегка сплюснутый сбоков. Неудивительно, что он вам "тоже приглянулся")

oxygenh commented 10 years ago

Спасибо за ответ. Я, просто, искал моношрифт "поконденсированней", и, на первый взгляд, этот мплюс показался неплохим. А вот посмотреть на него пристально и поленился/не догадался. Жаль только, что отнял у Вас время по этому пустяку. Спасибо.

exebook commented 10 years ago

Спасибо за добрые слова! Значит нас теперь двое кто пользуется Деодаром) Обязательно сообщайте если, что-то будет не работать как надо, или чего то будет сильно не хватать, буду исправлять. (В меру сил)

oxygenh commented 10 years ago

Слова перенёс в ветку исью с благодарностями.

oxygenh commented 10 years ago

Нашел еще одну неполадку. Т.к. вылезла после шрифтового ковыряния, то отпишусь здесь. Предистория: в deodar.js поменял размер шрифта в строчке dnaof(this, fontPath, 14, TController, 110, 33) После этого вот что словил: как только изменяю размер окна Деодара больше какого то определенного значения по высоте (>36 строк), то перестают отрисовываться панели. Например, перехожу по ТАБ с одной на другую, а курсор не перерисовывается, остается на строй, хотя в статусной строке подпись меняется, что находится в папке, которая сейчас на той панели, на которую перешли. Или, просто, когда перемещаю курсор стрелками он не перерисовывается (хотя, по факту, перемещается)