The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Убираем ограничение на ширину панели закладок в Thunar
С давних лет, при использовании локали ru_RU.UTF-8, в боковой панели закладок
Thunar минимальная ширина этой панели
была в два раза больше, чем этого требовалось. Это связано с методом
определения ее минимальной ширины -
для ее получения использовалась функция strlen() применительно к строке, возвращаемой gettext(). 
Так как при использовании кириллицы каждый символ будет кодирован двумя байтами
получалась двойная ширина панели.
Здесь я предлагаю простой способ убрать ограничение на минимальную ширину этой панели.

За основу будет взят исходный код Thunar текущей стабильной версии - 1.0.1,
однако метод решения должен
подходить и ко всем предыдущим версиям. В файле thunar/thunar-shortcuts-view.c
найдите следующую строку
(в версии 1.0.1 это строка 307):

   "width-chars", strlen (_("File System")),

Для того чтобы снять ограничение достаточно просто удалить эту строку. Это все. 
Скомпилируйте Thunar (make clean по необходимости) и задавайте панели закладок
такую ширину, которая вам необходима!
 
01.07.2009 , Автор: Vee Nee
Ключи: Thunar, xfce, patch / Лицензия: CC-BY
Раздел:    Корень / Пользователю / Русификация

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, iZEN (ok), 09:30, 01/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >Убираем ограничение на ширину панели закладок в Thunar

    Для блондинок?

    Сроду держу вместо панели закладок панель с деревом папок -- там такой проблемы нет.

     
     
  • 2.7, Vee Nee (?), 18:35, 01/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Ну тебе и так значит хорошо было, а мне дерево вообще не нужно, а вот панелька с закладками вполне. Лишь бы не того размера, что была :) На низких разрешениях это вообще пол экрана почти занимало :(
    На ЛОРе не раз видел люди жаловались, и вот недавно снова начали на нее жаловаться. Ну я и решил разобраться. У меня этот баг был таким багом, из-за которого я и перестал Thunar-ом пользоваться вскоре.
     

  • 1.2, Аноним (-), 10:15, 01/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    имхо это должно красоваться не здесь в советах, а в багтрекере Фунара, в качестве предложения
     
     
  • 2.5, Vee Nee (?), 13:06, 01/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >имхо это должно красоваться не здесь в советах, а в багтрекере Фунара,
    >в качестве предложения

    Так давно уже! Но всем пофиг.

     

  • 1.3, Алексей (??), 12:13, 01/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Здесь я предлагаю простой способ убрать ограничение на минимальную ширину этой панели.

    А есть сложный? Какие еще есть способы по борьбе с этим недугом?

     
     
  • 2.4, Vee Nee (?), 13:05, 01/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Есть более сложный. Это не убирать ограничение совсем, а привести код к правильному, то есть чтобы ширина высчитывалась правильно.
     
     
  • 3.14, Lux (?), 19:15, 30/08/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Есть более сложный. Это не убирать ограничение совсем, а привести код к
    >правильному, то есть чтобы ширина высчитывалась правильно.

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

    По-моему так.


     
     
  • 4.15, Vee Nee (?), 15:47, 04/09/2009 [^] [^^] [^^^] [ответить]  
  • +/
    ППКС, именно поэтому, обнаружив источник проблемы, я даже не стал голову ломать особо как сделать ограничение, чтобы было "как задумано". В багтрекере тунара я даже видел просьбу от юзера убрать это ограничение совсем. Я вообще не понимаю тут логики - зачем это ограничение нужно было и почему именно по строке "File System"?
     
  • 2.6, div (??), 15:10, 01/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    there is always more then one way to skin a cat :)
     

  • 1.8, Аноним (-), 21:30, 01/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Может кто-нибудь собрать deb пакет? A то неохота тянуть в систему все эти *-dev.
     
  • 1.9, TocKa (?), 22:25, 01/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот не обломался и скомпилил из исходников с репов дебиана.
    thunar_1.0.1-1_i386.deb http://ifolder.ru/12915188
    thunar-data_1.0.1-1_all.deb http://ifolder.ru/12915237

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

     
  • 1.10, фыва (?), 19:42, 02/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а кто бы в апстрим всё это счатстье запостил ? Наверняка же баг открыт такой ?
     
  • 1.11, Бампуэ (?), 14:03, 04/07/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Скажите, а следующее - баг или фича?
    Если выделить несколько папок и щёлкнуть правой кнопкой, то пункт "Свойства" в контекстном меню будет неактивен
     
     
  • 2.12, iZEN (ok), 08:50, 05/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Скажите, а следующее - баг или фича?
    >Если выделить несколько папок и щёлкнуть правой кнопкой, то пункт "Свойства" в контекстном меню будет неактивен

    Это защита от дурака.

     
  • 2.13, gregg (?), 11:56, 07/07/2009 [^] [^^] [^^^] [ответить]  
  • +/
    это старинная багофича, давно обещают поправить
     

  • 1.16, SunStroke (?), 19:21, 17/09/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Есть более простое решение.
    Ставим Poedit, открываем из исходников Thunar файл ru.po и меняем там перевод строки "Файловая система" на "File system", ну или любой другой, но латинницей.
    Меняем в системе файл Thunar.mo на наш файлик. После этого ширина боковой панели ест-но считается правильно. Ну а какая-то там одна строчка не на русском думаю никого не будет особо напрягать.
     
  • 1.17, Vee Nee (?), 10:39, 21/09/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Высчитывание ширины панели было исправлено, изменения в git.
    http://bugzilla.xfce.org/show_bug.cgi?id=3965

    This should be fixed in git. Please re-open if it's still not working for you.

    commit 10dbf54f58c1b78e2f65863212e1e2179f24e318
    Author: Jannis Pohlmann <jannis@xfce.org>
    Date:   Fri Sep 18 23:41:06 2009 +0200

        Use g_utf8_strlen to calculate the sidepane width. Bugs #5390 and #3965.

        Using strlen() for the number of characters is unrealistic when dealing
        with multibyte strings.

     
  • 1.18, egaz (ok), 17:20, 17/01/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Большое спасибо за этот пост! Всё не мог понят, откуда это ограничение.
    Сразу на ум пришло решение без перекомпиляции:
    Открываем бинарник Thunar (где он, можно узнать через 'whereis Thunar') в любом шестнадцатеричном реакторе (bless, hexedit, ghex).
    Находим там строчку «File System», в версии 1.0.1 такая единственная. В hex она будет «46 69 6C 65 20 53 79 73 74 65 6D»
    и меняем на что типа «46 69 6C 65 65 53 79 73 74 65 6D», те «FileeSystem». Перевод такого слова он не найдет и в результате посчитает длину от английского, а она очень удачно равна длине «Рабочий стол». Смотрится очень удачно, подправив всего один символ.

    Ну можно ещё сказать, что надо быть аккуратнее при редактировании, чтобы не произошло сдвига и если нет уверенности в результате, то сделать резервную копию.

     
     
  • 2.19, BmW (?), 09:55, 12/02/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Еще интереснее -- сейчас поменял 20 на 53 (пробел " " на подчеркивание "_") -- перевод подтянуло, но ширину рассчитала меньшую. Спасибо!
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру