LINUX.ORG.RU

Отображение тире при переносе строки в длинном имени файла

 ,


0

1

Приветствую, товарищи!

В наличии: Debian 11 bullseye MATE 1.24.1

Проблема: в одинаковом отображении «длинных» имен файлов/дир. Два файла, например, wallpapers и wallpape-rs отображаются как wallpape-rs в DE.

Необходимо: исключить добавление тире при переносе строк в именах файлов/дир.

Сделано:

  1. гугл затер, забанили;
  2. rm -rf / пробовал, не помогло.(плоский юмор)

Для наглядности: https://ibb.co/7CQ5Hw5

Буду рад любой помощи по сабжу. Заранее благодарю!



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

Шрифт меньше сделай ;)

paran0id ★★★★★
()

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

Буду рад любой помощи по сабжу. Заранее благодарю!

Да что тут можно посоветовать кроме того, как найти исходники местного файлового менеджера? Вот они: https://github.com/mate-desktop/caja

Далее найти там перенос текста в label’е, наверное это оно: https://github.com/mate-desktop/caja/blob/2149626bef57b8ec1bd3edea537dc4e8e7548d10/libcaja-private/caja-icon-canvas-item.c#L2046

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

diff --git a/libcaja-private/caja-icon-canvas-item.c b/libcaja-private/caja-icon-canvas-item.c
index 7ab2f705..d25bdbc4 100644
--- a/libcaja-private/caja-icon-canvas-item.c
+++ b/libcaja-private/caja-icon-canvas-item.c
@@ -2040,7 +2040,7 @@ create_label_layout (CajaIconCanvasItem *item,
     }
 
     pango_layout_set_spacing (layout, LABEL_LINE_SPACING);
-    pango_layout_set_wrap (layout, PANGO_WRAP_WORD_CHAR);
+//    pango_layout_set_wrap (layout, PANGO_WRAP_WORD_CHAR);
 
     #if PANGO_CHECK_VERSION (1, 44, 0)
     pango_attr_list_insert (attr_list, pango_attr_insert_hyphens_new (FALSE));

Ну а дальше тебя ждут увлекательные приключения с пересборкой пакета caja в Debian и накладывания этого патча на него. Курить мануал следует здесь: https://wiki.debian.org/BuildingTutorial

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

P.S. Поскольку система для сборки deb-пакетов в Debian та ещё наркомания в которой без литра портвейна 777 не разберёшься, можно дизассемблировать существующий бинарник caja, найти там функцию create_label_layout() и забить в ней nop’ами вызов функции pango_layout_set_wrap(), лично я предпочёл бы такой вариант вместо пересборки DEB-пакета, это было быстрее. Как говорится – вот тебе, бабушка, и открытый код!

P.P.S. Можно кстати скриншот и описание ситуации закинуть в Issue на GitHub’е разработчикам Caja, надеюсь, они нормальные и принимают там репорты и не будут посылать в какую-нибудь наркоманскую багзиллу.

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

Как выяснилось плохо я гуглил, хотя смотрел на гите, серчил по ключевым словам, но мимо…

https://github.com/mate-desktop/caja/issues/1284 https://gitlab.gnome.org/GNOME/pango/-/issues/401#note_636509

Как более простое(но не обязательно лучшее) решение - можно накатить caja из testing дистра, проблему решает.

Огромное спасибо EXL, много сердечек и плюсиков в карму! Юзеру с ником paran0id тоже + за такое же плоское чувство юмора как и у меня))

h3l0_world
() автор топика

этой теме два года. в pango 1.44 это исправлено

futurama ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.