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.