当前位置: 首页>>技术教程>>正文


如何更改通知的显示时长?

,

问题描述

有没有办法改变 libnotify 通知的持续时间?我已经用谷歌搜索了几个月,但仍然没有运气。

我实际上开始认为你无法改变它。我什至在 API 中找不到开发人员可以控制它的任何地方。

最佳思路

正常情况下你不能这样做。但是,有一个 notify-osd 的修补版本支持它:

从 Ubuntu 16.04 开始:

您需要添加两个 PPA:

sudo add-apt-repository ppa:leolik/leolik
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt update

然后像这样安装:

sudo apt-get upgrade
sudo apt-get install notifyosdconfig

配置对话框应位于终端的“应用程序”->“附件”或“notifyosdconf”中。如果您未设置 --expire-time 参数,则有一个标准通知持续时间的设置,如上面的屏幕截图所示。

例子:

notify-send --urgency=LOW --expire-time=1 --icon=face-laugh "test" "1 second"

旧版本:(9.10-14.10)

您需要添加两个 PPA:

sudo add-apt-repository ppa:leolik/leolik
sudo add-apt-repository ppa:amandeepgrewal/notifyosdconfig
sudo apt-get update

然后像这样安装:

sudo apt-get upgrade
sudo apt-get install notifyosdconfig

配置对话框应位于终端的“应用程序”->“附件”或“notifyosdconf”中。如上面的屏幕截图所示,有一个通知持续时间的设置。

例子:

notify-send --urgency=LOW --expire-time=1 --icon=face-laugh "test" "1 second"

次佳思路

粗略但有效,然后一些 – 警告这也会杀死待处理的通知\n这只能缩短显示时间只需更改下面的 sleep 1.5; 中的 1.5

参考:\nClose button on notify-osd? 中的详细信息

x-ref:\n Expiry time in notify-send notifications

dbus-monitor "interface='org.freedesktop.Notifications'"            \
| grep --line-buffered  "member=Notify"                             \
| sed -u -e 's/.*/sleep 1.5; killall notify-osd/'                   \
| bash

书签:\n自己 – How do I change how long notifications are displayed? \n Expiry time in notify-send notifications

第三种思路

我认为通知的持续时间取决于消息的长度。

从间接使用它的人(通过使用 Python 中的 pynotify 模块)的角度来看,我发现指定消息的持续时间是不可能的。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/14317.html,未经允许,请勿转载。