A polybar é uma ferramenta rápida e fácil de usar para criar barras de status. Seu objetivo é ser facilmente personalizável, fazendo uso de muitos módulos que permitem uma ampla variedade de funcionalidades (modificáveis), como a exibição de workspaces, a data ou volume do sistema. A polybar é especialmente útil para gerenciadores de janela que possuem uma barra de status limitada ou inexistente, como awesome ou i3. Polybar também pode ser usado com ambientes de desktop como o Plasma.
Instalação
Instale o pacote polybar, ou a versão de desenvolvimento polybar-gitAUR.
Configuração
Copie o exemplo de configuração do /usr/share/doc/polybar/examples/config.ini para o $XDG_CONFIG_HOME/polybar/config.
Executando a Polybar
A polybar pode ser executada com os seguintes argumentos:
Usage: polybar [OPTION]... BAR
-h, --help Display this help and exit
-v, --version Display build details and exit
-l, --log=LEVEL Set the logging verbosity (default: WARNING)
LEVEL is one of: error, warning, info, trace
-q, --quiet Be quiet (will override -l)
-c, --config=FILE Path to the configuration file
-r, --reload Reload when the configuration has been modified
-d, --dump=PARAM Print value of PARAM in bar section and exit
-m, --list-monitors Print list of available monitors and exit
-w, --print-wmname Print the generated WM_NAME and exit
-s, --stdout Output data to stdout instead of drawing it to the X window
-p, --png=FILE Save png snapshot to FILE after running for 3 seconds
No entanto, você provavelmente deve querer executar a polybar com a rotina de inicialização do gerenciador de janelas. Veja #Executando com WM.
Exemplo de configuração
Uma configuração polybar muito básica pode ser assim:
[bar/minhabarra] modules-right = date [module/date] type = internal/date date = %Y-%m-%d%
Ela define uma barra chamada minhabarra com um módulo chamado date.
Por padrão, a polybar também instalará uma configuração de amostra com muitos módulos pré-configurados no /usr/share/doc/polybar/config
Executando com WM
Crie um arquivo script executável contendo a lógica de inicialização, por exemplo $HOME/.config/polybar/launch.sh:
#!/bin/bash # Termine instâncias de barras em execução killall -q polybar # Espere até que os processos em execução sejam terminados while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done # execute a Polybar, usando a configuração padrão ~/.config/polybar/config polybar minhabarra & echo "Polybar lançada..."
Este script significa que reiniciar a WM também reiniciará a polybar.
bspwm
Se estiver usando bspwm, adicione o seguinte no seu bspwmrc:
$HOME/.config/polybar/launch.sh
i3
Se estiver usando o i3, adicione o seguinte na sua configuração:
exec_always --no-startup-id $HOME/.config/polybar/launch.sh
Resolução de problemas
Não é possível abrir o arquivo de objeto compartilhado libjsoncpp.so
Tente reinstalar, conforme descrito nesta issue do GitHub.
Caso contrário, tente instalar o pacote jsoncpp.