Jump to content

Polybar (Русский)

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи Polybar. Дата последней синхронизации: 30 июля 2019. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

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

Решение проблем

Cannot open shared object file libjsoncpp.so

Попробуйте переустановить Polybar, как описано в issue на GitHub.

Если проблема не решится, попробуйте установить пакет jsoncpp.

Смотрите также