关于notify-osd的关闭按钮?

是否可以在OSD上获得关闭按钮?

它会停留很长时间,有时我的同事会在我的电脑上播放,我不希望他们看到谁在线,或者我正在听什么歌。 不,我无法禁用它。

您最好的选择是提交错误并要求提供该function。 在提交这样的wishlist错误时,请务必考虑一下用户案例,为什么这个function可以certificate对Ubuntu用户社区的更大部分有用。

在短暂通知上选择零铬是非常慎重的,不会改变。 理由是这些通知应尽可能轻量级。

但是,有一些事情可以帮助你进一步。

有一个规范可以使通知变量的时间 – 更长的消息将保留更长的时间,或更新的消息将被扩展。 一个实施的补丁将受到欢迎,它将允许我们缩短非常短的消息的时间:-)

此外,我们还想添加一个“请勿打扰”模式,其中只显示系统(紧急)通知,如电池电量非常低和硬件问题。 因此,您可以使用请勿打扰以避免人们在看到您的肩膀时看到您的通知,或者您已插入投影仪(尽管我们宁愿将通知放在您的笔记本电脑屏幕上,而不是放在投影机上,它们是不同的显示器)。 同样,欢迎使用补丁。

没有一个关闭按钮,blob在鼠标方面甚至没有(当你点击它时,它只是点击它后面的东西),详见这里:

https://wiki.ubuntu.com/NotifyOSD

这个function不会改变,有几个错误报告询问你的要求,所有这些都被最强烈的条款拒绝。

您可以创建一个程序来关闭它,稍微分叉一下osd代码并使用一些已经执行此操作的现有代码分支。 请参阅程序D-Feet以浏览和播放notifyosd的dbus接口以及启动板上的代码。

有一种方法可以通过关闭按钮获取通知。

在此处输入图像描述

来自Webupd8的文章

首先从软件中心安装Avant Window Navigator,然后将“Notification Daemon”添加到扩展坞。

现在按Alt + F2并粘贴gconf-editor

然后导航到apps> awn-applet-notification-daemon(这是针对AWN中继PPA的最新AWN,它可能是旧版Avant Window Navigator上的app> avant-window-navigator> awn-applet-notification-daemon )。 单击一个键将在底部显示其描述,以便您知道如何调整它。 最重要的关键是:“kill_standard_daemon” – 确保启用此选项,否则AWN通知将无效。

例如,“override_x”是屏幕上的水平位置(我使用“1900”,因为我的屏幕宽度为1920,我希望通知显示在右侧),“override_y”是垂直位置(为此我使用了“30”,因此通知对话框显示在右上角),“gradient_factor”是透明度。 这应该足以让你开始。

要自定义颜色,请取消选中“use_theme”框,然后指定“text_colour”和“bg_colour”等。

您可能想要打开的一个重要function是“show_icon”。 这将在您的Avant Window Navigator Dock上显示一个图标,然后您可以单击该图标以暂时禁用/启用通知。

您也可以这样做(仅在Lucid上测试),而不是使用前卫的窗口导航器:

从软件中心安装xfce4-notifyd并按Alt + F2并粘贴killall notify-osd

这会切换到XFCE的通知守护程序,它看起来很像默认守护程序,当您将鼠标hover在它上面时,只会显示一个关闭按钮。

我之前已经读过这个并且可以理解设计推理,但实际上当它们不能轻易清除时它们会分散注意力。

使用https://launchpad.net/caffeine ,一个可以阻止屏幕/省电的状态栏应用程序,也将禁用弹出窗口,所以我认为我会建议这作为一种解决方法。

阻止通知确实突出了对通知历史记录的需求,但这也被提出作为一个问题并解决为不会修复:bugs.launchpad.net/notify-osd/+bug/382094

使用notify-osd-conf app减少延迟。

试试这个:

http://www.webupd8.org/2012/06/closable-movable-notifyosd.html

您不会得到关闭按钮,但您将能够关闭气泡并调整其活动时间。

书签: notify-osd上的关闭按钮?

参考:

经过validation的概念,bash’d OSD弹出涂鸦“禁用”解决方案被构思和孵化为:

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

这可以在终端中运行或作为后台任务 – 停止它并弹出涂鸦恢复。

OP表示“不,我不能禁用它”。 如果这意味着通知系统不被设备禁用,则此解决方案与此一致。 该系统完好无损。 如果这意味着装腔作者不知道如何这样做,那么解决方案再次是相关的。

细节说明如下。 最终的目的是将所有内容嵌入到DBus中,直接调用

  qdbus org.freedesktop.Notifications \ /org/freedesktop/Notifications \ org.freedesktop.Notifications.CloseNotification(uint id) 

一个非常非常非常天真的基本解决方案,它比实际更能certificate概念,实质上是“禁用” notify-osd (或者至少是它的影响)。 完成测试后别忘了终止它! 通过ETX’ng与 -C或关闭终端窗口等。它确实完成了它的工作但不是非常实用! 因为不幸的是其他工作试图做他们的…

  while true; do killall notify-osd; done 

(“听”相关活动你可能想“掏出来”

  notify-osd: no process found .... 

通过在终端窗口中运行它来测试它,并从另一个终端窗口尝试执行以下操作:

  notify-send "test 1" "now you see it not" notify-send "test 2" "you see it not after test 1 evaporates" notify-send "test 3" "finally after test 2 evaporates" 

停止第一个进程,然后再次尝试邮件。

也许unity-panel-servicenotify-osd指示器可以调用killall notify-osd 。 热点关闭按钮不会(并且不能!)驻留在通知窗口上,但它将在指示器面板上可用。 这与Unity对Windows的概念完全相同。 顶部栏用于通知关闭的方式类似于Unity将带有close,mini,maxi框的窗口菜单放到顶部菜单栏的方式。

当没有待处理通知时,一个真正优雅的解决方案会在notify-osd DBus活动显示时消失。

它也可能解决堆叠通知问题 – 一次只能看到一个通知,如果有多个通知待处理,每个通知必须在下一个通知出现之前消失 – 通常不能同时看到它们。

然而, DBus-monitornotify-osd通知接口将立即确认待处理的通知,即使已经有一个已经显示。 (如果killall notify-osd立即发布 – 也可以! – presto poof!)

选择All,拖放到终端窗口进行以下测试:

  notify-send "test 1" "now you see it" notify-send "test 2" "you see it after test 1 evaporates" notify-send "test 3" "finally after test 2 evaporates" 

现在用p {r} oof做同样的事情:

  notify-send "test 1" "now you don't" notify-send "test 2" "you see it not! after test 1 evaporates" notify-send "test 3" "NOT finally after test 2 evaporates" killall notify-osd notify-send "gonzo" "gone nada zip zilch" 

DBus monitor检测到OSD弹出涂鸦活动时,将触发建议的解决方案中的killall notify-osd

这是一个故意决定忽略任何与通知泡泡交互的方式(因此它是被动通知),因此您可以在Launchpad上发布错误报告(可能已经有一个)并且游说可以更改它。

除非有大的需求(并且没有),否则我看不到它会很快发生

通过寻求一种方法来排除某些程序访问notify-osd系统,也可能值得尝试解决这个问题。

通知本身的关闭按钮无法解决您的问题。 他们仍会看到通知,并且必须单击关闭按钮才能关闭它们(如果有的话)。

您应该做的是,当您想允许其他人使用您的计算机时,只需选择右上角系统菜单中的“切换用户”选项(齿轮图标),然后使用访客登录。 这将构建一个临时会话供他们使用,并且不会保留任何浏览器历史记录,cookie等…当该用户注销时。 这将阻止他们看到您的通知,以及可能会扰乱您自己的任何数据(网络历史记录,下载,登录等等),因为他们从您的计算机中穿过以太网。