Waybar 状态栏图标定制:5 分钟让每个模块都换上"表情"
【免费下载链接】WaybarHighly customizable Wayland bar for Sway and Wlroots based compositors. :v: :tada:项目地址: https://gitcode.com/GitHub_Trending/wa/Waybar
跟着做一遍,你就能把 Waybar 状态栏美化到每个模块都自动换"表情":电池随电量变图标、断网瞬间弹警示,全程只改两三个配置项,不写一行代码。
动手前,先花 30 秒判断你适合哪条路:
| 方案 | 效果 | 适合谁 | 成本 |
|---|---|---|---|
| Nerd Fonts 字体图标 | 单字符图标,任意模块都能用 | 想要轻量、跨模块统一风格 | 装一个字体 |
| 主题图标(SVG/PNG) | 应用图标、托盘图标 | wlr/taskbar 这类"认应用"的模块 | 装一个图标主题 |
| 纯文字 + CSS 配色 | 无图标,靠色块分组 | 极简派 | 零成本 |
多数人的最佳组合是:全局装 Nerd Fonts 打底,个别模块再按需叠加主题图标。下面两个场景都用前者,改完重启 Waybar(killall waybar && waybar &)即可看到效果。
5 分钟完成电池图标随电量自动切换
这一节解决"电池只显示百分比、看不出状态"的问题。
Waybar 的电池模块支持format-icons,它就是告诉状态栏:不同电量区间该递哪张"表情卡片",数组按从低到高排列。打开~/.config/waybar/config,把电池模块改成这样:
"battery": { "format": "{icon} {capacity}%", "format-icons": ["", "", "", ""] }{icon}是占位符,Waybar 会根据当前电量从数组里挑一个字符填进去。电量越低索引越靠前——你可以试试把顺序打乱,图标会按你的排列"错乱",正好验证它是不是按序取的。
网络断开时自动切到警示图标
这一节解决"断网了状态栏毫无反应"的问题。
和电池一样,format-icons写成对象时,key 就是状态名。网络模块常见的状态有wifi、ethernet、disconnected:
"network": { "format": "{ifname} {icon}", "format-icons": { "wifi": "", "disconnected": "" } }这一步做完后你会看到:连着 Wi-Fi 时显示无线图标,拔掉网线或关掉 Wi-Fi 的瞬间,它立刻换成警示符号。电池模块配置参考 和 网络模块配置参考 里列出了每个模块支持的全部状态名,配错了状态名不会报错,只是回退到默认图标,所以拼写要仔细。
改完之后,你的状态栏应该长这样——每个模块都带上了会"动"的图标:
Nerd Fonts 安装后图标显示成方框的排查
这一节解决"字体装了、配置也写了,图标却是一排豆腐块"的问题。
方框意味着字体里找不到这个字符,最常见的原因是没告诉 Waybar 用哪个字体。在~/.config/waybar/config的顶层加两行:
"font-family": "JetBrainsMono Nerd Font", "font-size": 12如果加了还不行,打开终端跑一下fc-list | grep -i nerd,看有没有输出;没有的话,先通过发行版包管理器安装 Nerd Font。字符本身也要核对:Nerd Font 图标藏在特殊 Unicode 区,从网上复制时偶尔会丢字符,可以直接从 Nerd Fonts 的字符速查表里重新拷贝。
用 CSS 微调图标大小和间距
这一节解决"图标能显示了,但挤成一团"的问题。
Waybar 的样式写在~/.config/waybar/style.css,每个模块可以用#模块名选中。图标是单独的icon元素,字号和文字是分开控制的:
#battery { padding: 0 10px; } #battery icon { font-size: 14px; }调大font-size图标会等比变大,调大padding模块之间会更透气。
最后提醒一句:Waybar 找图标文件走的是 GTK 图标主题系统(加载逻辑在 图标主题封装),所以给 taskbar 这类模块指定icon-theme时,主题名要和系统里已安装的主题完全一致。现在就可以动手了:打开~/.config/waybar/config,把电池模块加上一行"format": "{icon} {capacity}%",重启 Waybar,你的第一张"表情卡片"就上线了。
【免费下载链接】WaybarHighly customizable Wayland bar for Sway and Wlroots based compositors. :v: :tada:项目地址: https://gitcode.com/GitHub_Trending/wa/Waybar
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考