четверг, 3 марта 2011 г.

Транслитерация имен файлов

Бывает, возникают ситуации, когда требуется файлы именованые русскими символами транслитировать в латинские. Особенно это полезно когда необходимо передать файлы в архиве пользователю Windows, сделанном в Ubuntu.
Есть на этот счет различные решения, а для себя я выбрал следующее:
в папке ~/.gnome2/nautilus-scripts нужно создать обычный текстовый файл со следующим скриптом внутри:

#!/bin/bash
# Перекодирует рекурсивно в текущем каталоге имена
# файлов и каталогов в транслит.
shopt -s nullglob
for NAME in * ; do
TRS=`echo $NAME | sed "y/абвгдезийклмнопрстуфхцы /abvgdezijklmnoprstufxcy_/"`
TRS=`echo $TRS | sed "y/АБВГДЕЗИЙКЛМНОПРСТУФХЦЫ/ABVGDEZIJKLMNOPRSTUFXCY/"`
TRS=${TRS//ч/ch};
TRS=${TRS//Ч/CH} TRS=${TRS//ш/sh};
TRS=${TRS//Ш/SH} TRS=${TRS//ё/jo};
TRS=${TRS//Ё/JO} TRS=${TRS//ж/zh};
TRS=${TRS//Ж/ZH} TRS=${TRS//щ/sh\'};
TRS=${TRS///SH\'} TRS=${TRS//э/je};
TRS=${TRS//Э/JE} TRS=${TRS//ю/ju};
TRS=${TRS//Ю/JU} TRS=${TRS//я/ja};
TRS=${TRS//Я/JA} TRS=${TRS//ъ/\`};
TRS=${TRS//\`} TRS=${TRS//ь/\'};
TRS=${TRS//\'}
if [[ `file -b "$NAME"` == directory ]]; then
mv -v "$NAME" "$TRS"
cd "$TRS"
"../$0"
cd ..
else
mv -v "$NAME" "$TRS"
fi
done
Имя файлу я присвоил следующее: транслитировать имена файлов в этой папке..
Нужно не забыть установить этот файл исполняемым, и после этого в попуп-меню Наутилуса в разделе сценарии появится меню с именем нашего файла, при выборе которогов текущей папке все файлы с русскими символами будут транлитированы.

понедельник, 28 февраля 2011 г.

Размеры меню в Ubuntu

  Довольно долго пользовался стандартной темой в Ubuntu.
Пробовал устанавливать другие темы, но размеры меню в этих темах меня разочаровывали.
На моем ноутбуке, с разрешением 1200х780, выглядат они довольно убого.
Размеры страндартного меню в Ubuntu
  
  Для навигации по такому меню требовалось пользоваться прокруткой, что всегда раздоажает.
Тем более что никакого смыла делать строки меню такго ОГРОМНОГО размера нет!

  Немного порыскав по сети нашел несколько способов решения этой проблемы.
Во-первых - можно установить различные не родные меню (например Cardapio или Mintmenu), но у этих способов имеются определенные минусы, все-таки это не родные меню и они могут сваливаться.
Самым интересным, и самым элегантным, мне показался следующий способ:
в домашней директории пользователя необходимо создать файл с именем .gtkrc-2.0, следующего содержания: gtk-icon-sizes = "gtk-large-toolbar=12,12:panel-menu=12,12:gtk-menu=12,12"
Размеры иконок, при этом необходимо выбрать по вкусу (учитывая, что стандартное значение размеров -24).
Сохраняем файл.
Выполняем в терминале комманду killall gnome-panel, и наслаждаемся результатом!
Размеры меню Ubuntu после настройки

P.S. По мотивам поста на форуме ubuntuforums.org