При установке системы просто выбираю в качестве
переключателя раскладки Caps_Lock а переключателем регистра символов
Caps_Lock + Shift
Потом устанавливаю пакет qxkb который в минимальной конфигурации
использую как индикатор на панеле. С последними обновлениями
поломался индикатор и не захотел больше переключаться. Я восприняла
это как вызов и попыталась решить это глобально и избавится наконец
от лишней установки пакета qxkb. Мне это проще так как я все конфиги
держу в репозитории и при установке просто клонирую его целиком.
К моему разочарованию в конфиге i3status нет возможности выполнять и
выводить команду оболочки, но в man страничке я нашла
"прототип" функции чтения из файла.
Код: Выделить всё
LESS=+/"read_file uptime" man i3status
тайлинге Awesome через утилиту xset. И вот что у меня получилось
Добавляю в конфиг i3status следующие строчки
Код: Выделить всё
order += "read_file xkb"
...
read_file xkb {
format = "%content"
path = "/tmp/xkb"
}
Код: Выделить всё
LESS=+/"File Contents" man i3status
Код: Выделить всё
exec echo US >/tmp/xkb
bindsym Caps_Lock exec xset q | awk '/LED/ {print ($10>1)?"RU":"US"}' >/tmp/xkb && killall -SIGUSR1 i3status
интервал в 5сек
В выводе утилиты awk по десятому полю получаю такие изменения при переключении раскладки
и на их основе перезаписываю временный файлus 00000000
US 00000001
ru 00001000
RU 00001001
Есть еще задумка отображать также и изменение регистра символов, но
пока довольна что так быстро удалось решить проблему локальными средствами
предусмотренными в дизайне самих конфигов хотя может и несколько для иных целей.