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.

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

- Polybar Github Wiki

Category:

- Eye candy (Русский)

Polybar (Русский)
Add topic