搜索你想找的开源项目

输入名称、用途或关键词,也可粘贴 GitHub 仓库链接

分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

Alexays/Waybar

效率与系统工具

面向 Wayland 合成器的高度可定制状态栏,使用 C++ 与 GTK 实现。

12,134
1,203
C++
MIT
创建于 8 年前

项目介绍

Waybar 是面向 Wayland 合成器的可定制状态栏,尤其适配 Sway、Hyprland、River、Niri、Wayfire 等基于 wlroots 的合成器。它把工作区指示、系统资源、网络、蓝牙、音频状态、媒体播放、时钟日历和系统托盘集中到一条可配置的栏上 Waybar。

项目使用 C++ 和 GTK/gtkmm 编写。它的作用来自两层模块:一层通过合成器集成模块读取工作区、窗口、布局、语言和模式状态;另一层是硬件与桌面服务模块,例如电池、CPU、内存、磁盘、温度、网络、蓝牙、PulseAudio/WirePlumber、MPD、MPRIS 和自定义脚本 模块概览。每个模块的细节都记录在 wiki 上。

Waybar 适合希望获得常驻状态栏、并愿意编辑 JSONC 配置文件和 CSS 样式表的 Wayland 用户。它不是完整的桌面外壳,运行之前需要已有兼容的合成器。

快速使用

想不安装直接试用,可以从源码构建:

git clone https://github.com/Alexays/Waybar
cd Waybar
meson setup build
ninja -C build
./build/waybar

在 Ubuntu 上,README 列出了源码构建所需的开发包,包括 libgtkmm-3.0-dev、libjsoncpp-dev、libsigc++-2.0-dev、libwayland-dev、scdoc 和 upower Ubuntu 依赖。Arch 用户可在 README 中找到对应的 pacman 包列表。

启动后,把默认的 配置文件 和样式表复制到 ~/.config/waybar/ 再修改。配置与样式指南说明了可用选项,示例页面则收集了社区配置 配置指南 样式指南 示例。

多数发行版都打包了 Waybar,可以先查安装 wiki 页面和下游打包列表 安装方式。如果想把本地构建安装到系统,而不只是在构建目录里运行,使用 ninja -C build install。

使用约束

Waybar 运行在 Wayland 上,主要面向 wlroots 系合成器。不同合成器支持的模块不同:例如 Sway、River、Hyprland、Niri、Mango、DWL、Wayfire 和 Umbriel 对工作区、窗口、语言和模式的支持各有差异,DWL 还需要额外的 IPC 补丁 合成器支持表。

部分模块依赖可选的运行库:PulseAudio 需要 libpulse,Network 需要 libnl,托盘需要 libappindicator-gtk3 和 libdbusmenu-gtk3,MPD 需要 libmpdclient,sndio 需要 libsndio,KeyboardState 需要 libevdev 运行时依赖。缺少对应库时,相应模块无法使用。

模块文档以 scdoc 格式维护在 man/ 目录,并同步到 wiki;贡献者应修改 man 页面而不是 wiki 贡献说明。项目采用 MIT 许可证。

HotRepo 点评

Waybar 有明确的规模:GitHub 上 12,133 个 Star、1,203 个 Fork,拥有持续发布的 Release 页面,也被各发行版打包。在 HotRepo 记录的 2026-11-06 C++ 日榜中,它位列第 18 名,当天新增 5 个 Star。这只是 C++ 榜的某一天快照,不构成趋势线;该仓库在全部语言日榜中的最佳名次没有记录。数据能说明的是一个成熟、仍在被发行版打包的项目保持着小幅的日常关注,而不是一个新兴工具。

本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。

Hacker News 讨论