无需 D-Bus 的无守护程序通知。最小且轻量。
代码少于 200 行
不在后台运行,仅显示通知并退出
除 Xlib 和 Xft 之外没有外部依赖项
可通过config.h
或 Xresources 配置(使用此补丁)
行动支持
可通过补丁进行扩展
用法
补丁
关闭通知
行动
换行符
多个通知
通知不显示
安装
套餐
依赖关系
建造
配置
贡献
可用补丁列表
要创建新补丁,您必须打开包含更改的拉取请求。将.diff
附加到拉取请求 URL 以获取可下载的 diff 文件。不要忘记在标题前加上patch:
并将patch
标签应用于它。如需灵感,请查看我的 Xresources 补丁。谢谢。
注意:这种修补方法很大程度上受到 dylan 的 sowm 的启发。
可以通过使用DISMISS_BUTTON
(在 config.h 中设置,默认为鼠标左键)单击通知或向其发送SIGUSR1
信号来消除通知:
$ pkill -SIGUSR1 草本
取消的通知返回退出代码 2。
Action 是一段在接受通知时运行的 shell 代码。接受通知与关闭通知相同,但您必须使用ACTION_BUTTON
(默认为鼠标右键)或SIGUSR2
信号。接受的通知始终返回退出代码 0。要指定操作:
$ herbe "通知正文" && echo "这是一个操作"
&&
之后的所有内容都是操作,将在通知被接受后执行。
默认情况下,每个命令行参数都会打印在单独的行上,例如:
$ herbe “第一行” “第二行” “第三行” ...
您还可以在bash
中使用n
例如:
$ herbe $'第一行第二行'第三行'
但默认情况下, herbe
按字面打印n
:
$ herbe“第一亚麻布仍然是第一行”
其他程序的输出将正确打印,只需确保对其进行转义(这样您就不会在单独的行上得到每个单词):
$ Herbe "$(ps axch -o cmd:15,%cpu --sort=-%cpu | head)"
通知被放入队列中并按照创建顺序(先进先出)依次显示。它们不会重叠,并且每一个都会在其整个持续时间内显示。
最有可能的是正在运行的通知被强制终止(SIGKILL 或任何未捕获的信号),这导致信号量未解锁。首先,杀死所有卡住的herbe
实例:
$ pkill -SIGKILL 赫布
然后直接调用herbe
而不带任何参数:
$ 香草
通知现在应该按预期显示。
切勿向herbe
发送任何信号,除了以下信号:
# 与 pkill -SIGTERM herbe 相同,终止每个正在运行的 herbe 进程$ pkill herbe $ pkill -SIGUSR1 草本 $ pkill -SIGUSR2 草本
你应该没事。这就是您与herbe
交互真正需要的全部内容。
OpenBSD 补丁
FreeBSD 补丁
韦兰港 by muevoid
只有 herbe-git AUR 包由我维护。
X11(Xlib)
Xft
根据您使用的发行版,包的名称会有所不同。例如,如果您使用 Void Linux,则必须安装这些依赖项:
sudo xbps-install base-devel libX11-devel libXft-devel
git 克隆 https://github.com/dudik/herbecd herbe 须藤进行安装
make install
需要 root 权限,因为它将生成的二进制文件复制到/usr/local/bin
。这使得herbe
可以在全球范围内使用。
您还可以使用make clean
从构建文件夹中删除二进制文件, sudo make uninstall
从/usr/local/bin
中删除二进制文件,或者仅使用make
在本地构建二进制文件。
herbe 在编译时通过编辑config.h
进行配置。每个选项都应该是不言自明的。没有height
选项,因为高度由字体大小和文本填充决定。
X资源补丁
如果您想报告错误或有功能请求,请随时提出问题。
qutebrowser 支持通过content.notifications.presenter
设置通过 herbe 显示网络通知。