Lemonbar
lemonbar 是一个基于 XCB 的轻量级 bar。它提供了前景色/背景色切换、文本对齐、文本的彩色下划线/上划线、完整的 UTF-8 支持以及更低的内存占用。不多不少,仅此而已。
安装
配置
现在 lemonbar 的配置完全通过类似 screenrc 的格式字符串和命令行选项完成,这与旧版本不同,旧版本是在编译时进行配置的。
请参阅 lemonbar(1) 以简要了解这些配置选项。
用法
lemonbar 本身不输出任何信息。要将任何文本输入 lemonbar,您需要将文本通过管道传递给它。以下示例将在您的 bar 中显示文本 "Hello World"。
#!/bin/sh # Echo the text echo "Hello World"
如果您希望 lemonbar 中的文本通过脚本更新,您需要添加 -p 选项。这可以防止 lemonbar 在 stdin 关闭后退出。
颜色
lemonbar 使用以下命令来着色文本、背景或下划线/上划线。颜色可以通过 #RRGGBB、#AARRGGBB(带 alpha 通道;这需要 compositor 运行)或甚至 #RGB 的格式指定。
特殊颜色 - 表示默认颜色(该颜色由命令行标志设置,否则为默认的黑色背景上的白色文本)。
| 命令 | 含义 |
|---|---|
%{Fcolor} |
将 color 用作前景色/字体颜色 |
%{Bcolor} |
将 color 用作背景 |
%{Ucolor} |
将 color 用作文本的下划线/上划线 |
文本对齐
lemonbar 也支持文本对齐。它使用以下命令来对齐文本
| 命令 | 含义 |
|---|---|
%{l} |
将文本左对齐 |
%{c} |
将文本居中对齐 |
%{r} |
将文本右对齐 |
示例
以下示例将在 bar 的中间打印日期和时间,字体颜色为 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 一起使用,您需要在启动 lemonbar 时传递 -f 选项,例如 lemonbar -f "Roboto Medium"。
Font Awesome 图标
有了 XFT 支持,您还可以将 Font Awesome 图标 添加到您的 bar 中。在使用图标之前,您需要安装 woff2-font-awesome,然后将 -f 'Font Awesome 6 Free' -f 'Font Awesome 6 Brands' -f 'Font Awesome 6 Free Solid'(或适合的版本而不是 '6')传递给 lemonbar。请注意,您还需要指定另一种字体(例如 -f "Roboto Medium")来用于 Font Awesome 图标以外的其他符号,如果您希望在 lemonbar 中显示其他内容,因为 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'