Polybar (简体中文)

From ArchWiki

polybar 是一种能简单快速地创建状态栏的工具。它可以自定义许多功能模块,比如工作区、日期和音量等等。Polybar对于一些没有状态栏或者状态栏的功能有限的窗口管理器格外有用,例如awesomei3。Polybar也可以用于Plasma这样的桌面环境

安装

安装polybar包,或者安装它的开发版本polybar-gitAUR.

配置

将配置文件样例/usr/share/doc/polybar/config复制到$XDG_CONFIG_HOME/polybar/config.

运行Polybar

Polybar可以携带以下参数运行:

Usage: polybar [OPTION]... BAR

  -h, --help               显示帮助信息并退出
  -v, --version            显示构建详情并退出
  -l, --log=LEVEL          设置日志的详细级别 (默认: WARNING)
                           LEVEL可以是:error, warning, info, trace
  -q, --quiet              保持安静,不显示日志 (会覆盖参数-l)
  -c, --config=FILE        配置文件的路径
  -r, --reload             当配置文件被修改后自动重新加载
  -d, --dump=PARAM         输出参数PARAM的值并退出
  -m, --list-monitors      输出可用的显示器列表并退出
  -w, --print-wmname       输出生成的WM_NAME并退出
  -s, --stdout             将数据打印到标准输出,而不是在图形界面中展示
  -p, --png=FILE           运行3秒后将截图保存到文件

你可能想要在你的窗口管理器的引导程序中启动Polybar,详见#在窗口管理器中运行.

配置样例

以下是一份基础的配置:

[bar/mybar]
modules-right = date

[module/date]
type = internal/date
date = %Y-%m-%d%

它定义了一个barmybar并在其中加入了一个模块date.

Polybar默认生成了一个包含很多配置好的模块的配置文件/usr/share/doc/polybar/config

注意: 这份配置文件样例不是为了给每个人开箱即用而设计的,你可能需要根据你的需求进行一些修改。

在窗口管理器中运行

创建一个包含启动逻辑的executable,例如$HOME/.config/polybar/launch.sh

#!/bin/bash

# 终端可能已经有在运行的实例
killall -q polybar

# 等待进程被终止
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done

# 运行Polybar,使用默认的配置文件路径 ~/.config/polybar/config
polybar mybar &

echo "Polybar launched..."

这个脚本会在窗口管理器重启后重新运行Polybar

bspwm

如果使用的是bspwm,将下面内容添加到bspwmrc

$HOME/.config/polybar/launch.sh

i3

如果使用的是i3,将下面内容添加到你的i3的配置文件:

exec_always --no-startup-id $HOME/.config/polybar/launch.sh

疑难解答

Cannot open shared object file libjsoncpp.so

Github中issue有相关内容,尝试重新安装。

如果依然失败,尝试安装jsoncpp包。

参见