Lemonbar
lemonbar 是一个基于 XCB 的轻量级状态栏。它提供前景色/背景色切换以及文本对齐和彩色文本下划线/上划线,完全支持 UTF-8 并减少内存占用。仅此而已,不多不少。
安装
安装 lemonbar-gitAUR 软件包。
配置
lemonbar 的配置现在完全通过类似 screenrc
的格式字符串和命令行选项完成,这与旧版本不同,旧版本的配置在编译时进行。
请参阅 lemonbar(1) 以简要了解这些配置选项。
用法
lemonbar
本身不打印任何信息。要使 lemonbar
中显示任何文本,您需要将文本管道输入到其中。以下示例会将文本 “Hello World” 写入到您的状态栏中。
#!/bin/sh # Echo the text echo "Hello World"
如果您希望 lemonbar
中的文本通过脚本更新,则需要添加 -p
选项。这可以防止 lemonbar
在 stdin 关闭后退出。
颜色
lemonbar
使用以下命令来为文本、背景或下划线/上划线着色。颜色可以通过 #RRGGBB
、#AARRGGBB
(带有 alpha 通道;这需要 compositor 正在运行),甚至 #RGB
格式指定。
特殊颜色 -
表示默认颜色(由命令行标志设置,否则为黑色背景上的默认白色文本)。
命令 | 含义 |
---|---|
%{F颜色} |
使用 颜色 作为前景色/字体颜色 |
%{B颜色} |
使用 颜色 作为背景色 |
%{U颜色} |
使用 颜色 为文本添加下划线/上划线 |
文本对齐
lemonbar
还支持文本对齐。它使用以下命令来对齐文本
命令 | 含义 |
---|---|
%{l} |
将文本左对齐 |
%{c} |
将文本居中对齐 |
%{r} |
将文本右对齐 |
示例
以下示例在状态栏中间打印日期和时间,字体颜色为 yellow
,背景色为 blue
,并在之后将字体/背景颜色改回默认颜色。使用 /path/to/script/example.sh | lemonbar -p
运行它
example.sh
#!/bin/sh # Define the clock Clock() { DATETIME=$(date "+%a %b %d, %T") printf "$DATETIME" } # Print the clock while true; do echo "%{c}%{F#FFFF00}%{B#0000FF} $(Clock) %{F-}%{B-}" sleep 1 done
另一个显示电池百分比的示例。要使用此脚本,您需要安装 acpi。
example.sh
#!/bin/sh #Define the battery Battery() { BATPERC=$(acpi --battery | cut -d, -f2) echo "$BATPERC" } # Print the percentage while true; do echo "%{r}$(Battery)" sleep 1; done
XFT 字体
默认的 lemonbar 版本不支持 XFT 字体。要获得对 XFT 字体的支持,您需要安装 lemonbar-xft-gitAUR,它会替换 lemonbar-gitAUR。
要将不同的字体与 lemonbar 一起使用,您需要在启动 lemonbar 时传递 -f
选项,例如 lemonbar -f "Roboto Medium"
。
Font Awesome 图标
通过 XFT 支持,您还可以将 Font Awesome 图标 添加到您的状态栏。您需要在使用图标之前安装 ttf-font-awesome 并传递 -f 'Font Awesome 6 Free' -f 'Font Awesome 6 Brands' -f 'Font Awesome 6 Free Solid'
(或适当的版本而不是 '6')给 lemonbar。请注意,如果您希望在 lemonbar 中显示除 font awesome 图标之外的其他内容,您还需要指定另一种字体(例如 -f "Roboto Medium"
)用于 font awesome 图标以外的其他符号,因为 font awesome 不包含其他符号。
在将图标添加到 lemonbar 之前,您需要在 图标列表 中查找其 unicode id,并将其传递给 lemonbar 字符串。这是一个在 lemonbar 中显示 Unicode id 为 f242
的图标的脚本
fontawesome.sh
#!/usr/bin/sh echo -e "\uf242 Battery: 0"
请特别注意 echo -e
标志,因为它对于正确使用带有转义序列的 echo 是必要的。
以及相应的 lemonbar 命令:lemonbar -f "Roboto Medium" -f 'Font Awesome 6 Free' -f 'Font Awesome 6 Brands' -f 'Font Awesome 6 Free Solid'