polybar 的使用

前言

为了在i3中显示状态栏,
最初使用的是i3-bar,由于需要配合脚本显示网速,改用了conky
但conky不能显示GPU的相关信息.
现在使用的是polybar,效果可以.

特性

  1. 内置的部分状态
    1. 硬盘占用
    2. wifi
    3. CPU
    4. 内存
    5. 音量
  2. 自定义色彩
  3. 点击交互功能( conky 不容易实现)
  4. 自定义脚本( conky 还没看到)

配置方法

整体采用了ini文件的配置方法,不知道以后会不会学习conky一样使用lua进行配置以支持if语句

global域

[colors]用于预定义一些颜色
[global/wm],[settings]都是公共生效的区域
其中默认情况下polybar的状态栏与屏幕的上方和窗口之间有很大间隙,
可以在margin-top等处配置

bar域

可以储存用户定义的多个bar配置方案,
可以指定bar的大小,圆角,背景色,前景色,分隔符,字体等
最重要的是配置使用什么样的插件
有时会发现tray挡住了日期,
此时可以尝试在配置中添加 tray-detached=false 并重启.

字体与色彩

在bar中定义父级的字体

1
font-2 = "Font Awesome 5 Free Solid:style=Solid:size=15:1"
  • 使用什么字体可以使用 fc-list | grep -i <font-name> 查看正式名称
  • 最后一个冒号用于分隔参数,最后一个参数是字符间隙

然后在每个插件中使用

内置的项目

内置了cpu,temperature等实用组件,
最重要的元素:

  1. type 一般固定死的
  2. formate 用于定义整个插件的内容
  3. label 定义插件中文字部分的内容
  4. ramp 定义插件中非文字部分的内容
    1. 含有百分比信息,可以随用户定义的ramp的多少自动分隔出多个级别

自定义项目

支持自定义自己的命令作为输出,提高了扩展的能力
元素:

  1. type 一般固定死的
  2. exec-if 一般用于检查该命令是否存在等,用于减少报错
  3. exec 自定义的命令部分
  4. interval 执行命令的间隔
  5. label

注意:

  1. 自定义的输出想要显示颜色也需要使用polybar支持的颜色设置

使用

在i3的配置文件中定义

1
exec --no-startup-id ~/.config/polybar/launch.sh

在launch.sh中则是一些清理已经打开的进程并重新打开的代码

1
2
3
4
5
6
7
8
9
10
# Terminate already running bar instances
killall -q polybar

# Wait until the processes have been shut down
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done

# Launch Polybar, using default config location ~/.config/polybar/config
polybar mybar &

echo "Polybar launched..."

参考

  1. https://github.com/jaagr/polybar/wiki/Formatting