anomalyco/hokum
效率与系统工具为 Wayland 提供通知、PipeWire 音频与蓝牙的统一控制中心,界面由 Rune 绘制。
Hokum 是一个 Wayland 桌面控制中心:单一进程托管 freedesktop 通知守护进程、PipeWire 音频控制和 BlueZ 蓝牙控制,并带有托盘面板和一个分成三部分的窗口。它适合使用支持 zwlr_layer_shell_v1 的合成器(niri、sway、Hyprland、river 等)的用户,希望把通知与设备快捷控制集中在一处,而不是分别维护多个守护进程和小程序。
功能
通知守护进程注册 org.freedesktop.Notifications,在可点击穿透的覆盖层上绘制卡片:动作按钮、带 XDG activation token 的默认动作点击、进度条,以及按 volume 或亮度标签就地替换。关键通知会保留到被关闭。Sound 部分另外管理输出、输入、端口、蓝牙编解码器和路由;Bluetooth 部分涵盖配对(配对码显示在 Hokum 内)、信任、重命名、忘记设备、适配器和电量。托盘图标可打开面板,显示音量、录音时的麦克风、蓝牙设备和勿扰。
某个模块启动失败或之后出错时,会在自己的区域报告,并保持其余部分继续运行。如果在配置中同时关闭 Sound 和 Bluetooth,则不会显示托盘图标。
定制
单一 KDL 文件 ~/.config/hokum/config.kdl 涵盖外观、布局、按应用和按文本的规则、行为与模块开关;设置窗口编辑同一文件并保留注释,手动修改在保存时生效。主题仅是外观,不能决定运行哪些模块。内置八套主题,设置窗口还能生成提示词,让编程代理依据格式指南编写自定义主题。Rhai 脚本也可以重写或丢弃通知。
要求与限制
Sound 需要 PipeWire 和 WirePlumber,Bluetooth 需要 BlueZ;缺少时相应区域会用一行说明,托盘面板则省略这些内容。通知守护进程必须持有总线名,因此先要停掉占用该名称的其他守护进程(mako、dunst、swaync)。有些桌面 shell 自身就是通知服务器,例如 Omarchy 的 shell;Hokum 的 unit 无法停止它们,必须先关闭 shell 自带的通知——项目为此指向单独的 Omarchy 指南。
Hokum 不会在未经点击的情况下自行更新。它启动一分钟后检查一次发布通道,此后每小时一次;对于可写入的普通文件安装,Update 按钮会下载、校验大小和 sha256、替换可执行文件并重启 Hokum,任何失败都会保留旧可执行文件。包管理器安装的版本,该按钮只复制更新命令或打开网站。更新检查失败是静默的,并在下次检查时重试;也可在配置中关闭检查。
README 给出的安装途径包括 AUR、.deb 和 .rpm 包,或从 packaging/ 取用独立可执行文件并配合 systemd unit、D-Bus 激活文件和启动器条目。项目使用 MIT 许可证。
本文由 AI 根据项目 README 生成,更新于 2026年10月29日,以项目官方文档为准。