Картинки в индикаторе раскладок GNOME

Материал из Linux Wiki
Версия от 08:08, 29 апреля 2009; Lazyklimm (обсуждение | вклад) (→‎Генерация картинок)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигацииПерейти к поиску

Включаем отображение картинок в gconf

gconftool-2 --type bool --set /desktop/gnome/peripherals/keyboard/indicator/showFlags true

Генерация картинок

Обычно в подобных статьях предлагается использовать флаги стран (название ключа gconf на это прозрачно намекает), но многим наверняка хотелось бы видеть имя раскладки в windows-like виде.

Для некоторой автоматизации подобных действий предлагаю использовать утилиту convert из пакета ImageMagick

Алгоритм таков:

  1. Создаем (например в Gimp) прозрачную (ну или непрозрачную) картинку нужного размера (например 32x32), сохраняем её под именем trans.png
  2. с помощью утилиты convert добавляем на этот фон надпись с именем раскладки

примерно так:

export BGTPL=trans.png
export ICONDIR=~/.icons/flags
mkdir -p $ICONDIR
convert -font helvetica -fill white -pointsize 22 \-draw 'text 2,24 "En"' $BGTPL $ICONDIR/us.png
convert -font helvetica -fill white -pointsize 22 \-draw 'text 2,24 "Ru"' $BGTPL $ICONDIR/ru.png

Параметры convert:

  • font - Шрифт надписи
  • fill - цвет надписи (для светлой панели лучше указать black)
  • pointsize - размер шрифта
  • draw - координаты текста и сам текст

параметры шрифтов и координаты текста возможно придется подобрать методом проб и ошибок

картинки могут располагаться либо в ~/.icons/flags либо в /usr/share/pixmaps/flags и имена вида "имя_раскладки".png (также подойдет svg, jpg, возможно другие форматы). Список доступных раскладок можно получить из файла base.lst (обычно располагается в /usr/share/X11/xkb/rules/base.lst) следующим образом:

sed -n '0,/^! layout/d;/! variant/,$ d;/^$/d;p' base.lst

Ссылки