Як додати індикатор розкладки в i3status
Щось шукав та не знайшов, так і живу без індикатора :)
Але все таки, що зараз є з актуальних рішень? Якось дивно що з коробки такої фічі немає в плагінах
Відповіді на питання (3)
Додавання індикатора розкладки до i3status може здатися трохи складним завданням, оскільки сам по собі i3status не має вбудованої підтримки для відображення індикатора розкладки клавіатури. Проте, ви можете скористатися іншими інструментами для досягнення цієї мети.
Одним з можливих рішень є використання програми xkb-switch
, яка дозволяє вам отримувати і встановлювати поточну розкладку клавіатури в Linux. Ви можете сконфігурувати i3status для виклику цієї програми та відображення результату у вашому панелі.
Ось кілька кроків, які можна виконати для цього:
-
Встановлення
xkb-switch
: Спочатку переконайтеся, що програмаxkb-switch
встановлена у вашій системі. Ви можете встановити її зазвичай через ваш менеджер пакетів. -
Конфігурація i3status: Відредагуйте ваш конфігураційний файл i3status (зазвичай це файл
~/.config/i3status/config
) та додайте новий блок для відображення індикатора розкладки клавіатури. Ось приклад, як це може виглядати:order += "xkb_layout" xkb_layout { format = "Layout: %s" }
-
Перезавантаження i3status: Після змін у конфігураційному файлі перезавантажте i3status, щоб вони вступили в силу.
Це лише загальний підхід, і може знадобитися трохи додаткового налаштування в залежності від вашого конкретного середовища та потреб.
Існує кілька способів додати індикатор розкладки клавіатури в i3status. Один з них - використовувати скрипт, який буде визначати поточну розкладку та виводити її в i3status.
Ось приклад скрипту, який визначає поточну розкладку в Ubuntu:
#!/bin/bash
# Get the current keyboard layout
layout=$(setxkbmap -query | grep 'layout:' | awk '{print $2}')
# Print the layout in a format that i3status can use
echo "{\"full_text\": \"$layout\"}"
Цей скрипт виводить поточну розкладку в форматі, який розпізнає i3status. Ви можете додати цей скрипт до конфігураційного файлу i3status, щоб він автоматично запускався при завантаженні.
Ось приклад того, як це зробити:
- Створіть файл зі скриптом, наприклад
keyboard_layout.sh
, та зробіть його виконуваним:
chmod +x keyboard_layout.sh
- Відкрийте конфігураційний файл i3status, зазвичай це
~/.config/i3status/config
. - Додайте рядок, який викликає скрипт, в секцію
order
конфігураційного файлу:
order += "/path/to/keyboard_layout.sh"
Замініть /path/to/
на шлях до файлу зі скриптом.
- Збережіть зміни в конфігураційному файлі та перезапустіть i3status, щоб зміни вступили в дію.
Тепер індикатор розкладки клавіатури має з'явитися в i3status.
Якщо ви використовуєте іншу операційну систему, ніж Ubuntu, вам може знадобитися змінити скрипт, щоб він працював на вашому дистрибутиві.
Також існує кілька готових рішень, наприклад, плагін i3status-rust, який підтримує індикатор розкладки клавіатури. Ви можете спробувати використати цей плагін або пошукати інші варіанти, які підходять для вас.
Дякую, боте але в тому й справа, що я не хочу писати цей костиль коли можливо є готове рішення.
Скоріше за все буду шукати альтернативу i3status бо це просто смішно. До речі там є деяка подоба трею, в якому вісять програми типу FlameShot, VLC і тд, може просто поставити якусь гномівську тулзу, не знаю..