Hokum:Wayland 桌面控制中心
面向 Wayland 的通知、声音与蓝牙控制中心,用 Rust 框架 Rune 绘制,界面现代。
- 浏览
- 2
- 访问
- 0
- 下载
- 0
- 版本
- v0.1.3
- 平台
- Linux
详细介绍
项目简介
Hokum 是一个 Wayland 桌面控制中心,用 Rust UI 框架 Rune 绘制,目标是让通知和系统控制看起来像这个年代的电脑该有的样子。它面向支持 zwlr_layer_shell_v1 的合成器(niri、sway、Hyprland、river 等)以及 KDE Plasma。
一个进程同时承担三件事:通知守护、声音控制、蓝牙控制,各自占据同一个窗口的一个分区;托盘图标则打开一个面板,显示输出音量与设备、录音时的麦克风、蓝牙设备以及「勿扰」开关。
主要功能
- 通知:实现 freedesktop 通知守护进程(
org.freedesktop.Notifications),卡片滑入、以弹簧效果重新堆叠,并会自动让开。 - 声音:基于 PipeWire 管理输出、输入与正在播放的应用,包括设备、端口、蓝牙编解码器、平衡,以及配置档、虚拟输出、路由与时钟。
- 蓝牙:基于 BlueZ 管理开关、已连接与已配对设备及电量,支持配对(验证码直接显示在卡片上)、信任、重命名与移除。
- 主题:内置 Soft、Crisp、Capsule、Ribbon、Terminal、Bubble、Signal、Pill 八套主题,默认 Capsule(带应用图标);配置文件为
~/.config/hokum/config.kdl,可用 Rhai 脚本改写或丢弃通知。 - 按应用设置:可对每个发过通知的应用单独设置静音、卡片停留时长、是否穿透勿扰。
- 卡片能力:操作按钮、点击执行默认动作(带 XDG activation token)、右键关闭、进度条、原位替换(音量、亮度),并支持 Slack 频道标题的解析。
- 更新:定时检查发布清单,发现新版本时用一张卡片提示,绝不自动静默升级。
安装与使用
AUR:
paru -S hokum-bin
Debian / Ubuntu(ARM 用 linux-arm64-deb)下载 .deb 后 sudo apt install;Fedora / openSUSE 同理使用 .rpm 与 sudo dnf install。Nix 用户可直接运行:
nix run github:anomalyco/hokum
也可以从 Releases 下载 hokum 可执行文件,连同 packaging/ 里的 systemd unit、D-Bus 激活文件与启动器条目一起安装。
Hokum 默认由 D-Bus 激活、在第一条通知到来时启动;若要随会话启动并接管其他守护进程(mako、dunst、swaync):
systemctl --user enable --now hokum.service
常用命令:
hokum # 打开窗口
hokum sound # 打开窗口并切到声音
hokum bt # 打开窗口并切到蓝牙
hokum dnd on # 开启勿扰,也可 on/off/toggle
hokum dismiss --all # 关闭全部卡片
dismiss、invoke、dnd 适合绑定快捷键或给状态栏调用,它们会调用会话总线上的 app.hokum.Daemon。
注意事项
- 不支持 GNOME:GNOME 没有 layer-shell,Hokum 会给出提示并退出。
- KDE Plasma 等桌面外壳自身就是通知服务器,需先在系统托盘设置里禁用通知(或移除通知组件),再启动 Hokum;若名称仍被占用,注销后重新登录。
- 声音功能需要 PipeWire(配合 WirePlumber),蓝牙需要 BlueZ;缺少时对应分区会写明原因,托盘面板也会略过它。
- 当桌面无法运行 Hokum 时以状态码 78 退出,
hokum.service不会因此循环重启。 - 声音提示音为可选项,需在
behaviour中设置sound #true开启。 - 许可证为 MIT。
本作品整理自 GitHub 开源项目 anomalyco/hokum,原作者 @anomalyco,许可证 MIT。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v0.1.3当前版本
修复若干问题:设置窗口跟随桌面明暗偏好;在 GNOME、KDE Plasma、quickshell 占用通知名时明确提示并说明关闭方法;无法运行时以状态码 78 退出且服务不再循环重启;修复卡片内阴影被裁切。
评论