Polybar (Русский)
polybar — быстрый и лёгкий инструмент для создания статус-баров. Он нацелен на лёгкую персонализацию, используя множество модулей и позволяя, например, отображать рабочие столы, дату или громкость звука. Особенно Polybar полезен в оконных менеджерах без панели или с её ограниченной функциональностью, таких как awesome или i3. Polybar также можно использовать и в окружениях рабочего стола, например, в Plasma.
Установка
Установите пакет polybar. Экспериментальная версия доступна в пакете polybar-gitAUR.
Настройка
Скопируйте пример конфигурационного файла из /usr/share/doc/polybar/config в $XDG_CONFIG_HOME/polybar/config. По умолчанию, polybar будет читать конфигурацию из следующих путей ~/.config/polybar/config.ini, /etc/xdg/polybar/config.ini, или /etc/polybar/config.ini, в зависимости от того какой будет найден первым.
Запуск Polybar
Запустите polybar -h для просмотра списка опций при ручном запуске.
Но скорее всего, вы будете запускать Polybar с оконным менеджером, см. раздел #Запуск с оконным менеджером.
Пример конфигурационного файла
Пример простого конфигурационного файла:
[bar/mybar] modules-right = date [module/date] type = internal/date date = %Y-%m-%d%
Он создаёт статус-бар mybar с модулем date.
Также по умолчанию polybar создаёт пример со многими преднастроенными модулями в файле /usr/share/doc/polybar/config.
Запуск с оконным менеджером
Создайте исполняемый файл, содержащий процесс загрузки, например, $HOME/.config/polybar/launch.sh:
#!/bin/bash # Завершить текущие экземпляры polybar killall -q polybar # Ожидание полного завершения работы процессов while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done # Запуск Polybar со стандартным расположением конфигурационного файла в ~/.config/polybar/config polybar mybar & echo "Polybar загрузился..."
Данный скрипт означает, что при перезагрузке оконного менеджера также перезагрузится и Polybar.
Запуск на нескольких мониторах
Если вам необходима панель на нескольких мониторах, то вы можете добавить что-нибудь такое в скрипт-лаунчер
if type "xrandr"; then
for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
MONITOR=$m polybar --reload example &
done
else
polybar --reload example &
fi
Затем настройте Polybar для чтения имени монитора из переменной окружения:
config.ini
[bar/example]
monitor = ${env:MONITOR:}
[..]
bspwm
Если вы используете bspwm, добавьте в bspwmrc:
$HOME/.config/polybar/launch.sh
i3
Если вы используете i3, добавьте в его конфигурационный файл:
exec_always --no-startup-id $HOME/.config/polybar/launch.sh
Решение проблем
Попробуйте переустановить Polybar, как описано в issue на GitHub.
Если проблема не решится, попробуйте установить пакет jsoncpp.