После
установки Xfce 4.10 в Debian Wheezy я столкнулся с давно известной всем проблемой - размер флага раскладки в xfce4-xkb-plugin. Проблема не новая, но увы, инструкция как пересобрать xfce4-xkb-plugin в интернете пропала. Поэтому мой долг передать ранее полученные знания дальше.
Данная инструкция так же была проверена в xfce 4.6
В последний раз посмотрим на текущий значок:

Посмотрели? А теперь начинаем.
1. Устанавливаем зависимости для пересборки пакета:
sudo apt-get build-dep xfce4-xkb-plugin
2. Скачиваем исходный код пакета:
mkdir -p /tmp/xfce-xkb-plugin ; cd /tmp/xfce-xkb-plugin ; apt-get source xfce4-xkb-plugin ; rm *.tar.* *.dsc
В каталоге /tmp/xfce-xkb-plugin будет только один каталог с версией плагина. В моем случае xfce4-xkb-plugin-0.5.4.3, заходим в этот каталог:
cd xfce4-xkb-plugin-0.5.4.3
3. Вот мы и подобрались до редактирования исходного кода. Открываем и редактируем файл panel-plugin/xkb-cairo.c
gedit panel-plugin/xkb-cairo.c
Находим с 90 по 98 строку код. У меня они выглядят вот так
scalex = (double) (width - 4) / dim.width;
scaley = (double) (height - 4) / dim.height;
if (handle)
{
layoutx = (actual_width - width) / 2 + 2;
layouty = (actual_height - height) / 2 + 2;
cairo_translate (cr, layoutx, layouty);
И исправляем его на вот такой:
scalex = (double) (width - 8) / dim.width;
scaley = (double) (height - 8) / dim.height;
if (handle)
{
layoutx = (actual_width - width) / 2 + 4;
layouty = (actual_height - height) / 2 + 4;
cairo_translate (cr, layoutx, layouty);
Это мы изменили размер значка в трее, но есть еще один "подводный камень" - всплывающая подсказка.

Исправим и его!
4. Открываем и редактируем файл panel-plugin/xkb-cairo.c
gedit panel-plugin/xkb-callbacks.c
Ищем между 207-212 строками следующий код
if (handle)
{
tmp = rsvg_handle_get_pixbuf (handle);
pixbuf = gdk_pixbuf_scale_simple (tmp, 24, 24, GDK_INTERP_BILINEAR);
gtk_tooltip_set_icon (tooltip, pixbuf);
И исправляем его на вот такой:
if (handle)
{
tmp = rsvg_handle_get_pixbuf (handle);
pixbuf = gdk_pixbuf_scale_simple (tmp, 30, 20, GDK_INTERP_BILINEAR);
gtk_tooltip_set_icon (tooltip, pixbuf);
5. Компилируем и заменяем xfce4-xkb-plugin!
./configure --prefix=/usr ; make
После сборки должен появиться файл /tmp/xfce-xkb-plugin/xfce4-xkb-plugin-0.5.4.3/panel-plugin/xfce4-xkb-plugin
Которым необходимо будет заменить оригинальный файл. Но сначала надо посмотреть где он находится. Для этого апплет должен быть запущен на панели. И в терминале выполняем команду
ps aux | grep xfce4-xkb | grep lib | awk '{print $11}'
У меня плагин нашелся в /usr/lib/i386-linux-gnu/xfce4/panel-plugins/xfce4-xkb-plugin. Теперь предстоит его заменить скомпилированным. Обязательно перед этим убираем плагин с панели и выполняем команду из терминала
sudo -s ; cat /tmp/xfce-xkb-plugin/xfce4-xkb-plugin-0.5.4.3/panel-plugin/xfce4-xkb-plugin > /usr/lib/i386-linux-gnu/xfce4/panel-plugins/xfce4-xkb-plugin ; exit
6. Добавляем xfce4-xkb-plugin на панель и радуемся новому значку с нормальной всплывающей подсказкой:


7. Создаем deb-пакет для поделиться
sudo apt-get install dpkg-repack ; sudo dpkg-repack xfce4-xkb-plugin
И в текущем каталоге получим deb-пакет xfce4-xkb-plugin_0.5.4.3-1.1_i386.deb