# Polybar (简体中文)

From ArchWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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

## 安装

安装 polybarAUR包，或者安装它的开发版本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%

它定义了一个bar`mybar`并在其中加入了一个模块`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包。

## 参见

- Polybar Github Wiki

Category:

- Eye candy (简体中文)