notify-osd上的关闭按钮?


41

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

它停留了很长时间,有时我的PC上有同事在旁,我不希望他们看到谁在线,或者我在听什么歌。不,我不能禁用它。


在通知上获得关闭按钮的唯一解决方法是使用AWN,然后使用通知插件。它与Rhythmbox和exaile一起很好地工作。
theTuxRacer 2011年

这个答案askubuntu.com/questions/14354/close-button-on-notify-osd/… 基本上抢占了通知显示。这是暂时的,如果此过程停止,则通知显示将恢复。如果通过“我无法禁用它”表示您没有自由禁用通知dbus机制,则此解决方案将其保留不变...如果这表示您已尝试且无法这样做,则此答案将再次提供解决方案。
乔治·罗威尔,2012年

Answers:


16

最好的选择是提交错误并请求功能。提交这样的愿望清单错误时,请务必考虑一些用户案例,为什么此功能可能对Ubuntu用户社区的更大部分有用。


是的,我会做到的。但是我在哪里可以做到呢?发射台?
theTuxRacer

1
它已经在愿望清单上,但是我认为不会采取行动。请投票给bugs.launchpad.net/ubuntu/+source/notify-osd/+bug/381416
theTuxRacer 2010年

7
@Kaustubh P阅读此内容,markshuttleworth.com / archives / 253特别是这一部分:The most controversial part of the proposal is the idea that notifications should not have actions associated with them. In other words, no buttons, sliders, links, or even a dismissal [x].不要抱有希望,这永远不会改变。
以赛亚书

1
有一个规范可以将通知的时间设置为可变-较长的消息将保留更长的时间,或者更新的消息将被扩展。实施补丁程序将是受欢迎的,它将使我们能够缩短非常短消息的时间:-)
Mark Shuttleworth 2010年

10
另外,我们想添加一个“请勿打扰”模式,在此模式下,仅会显示系统(紧急)通知,例如电池电量严重不足和硬件问题。因此,您可以使用“请勿打扰”来避免人们在您的肩膀上看到您的通知,或者您已经连接到投影仪(尽管我们宁愿将通知放在笔记本电脑屏幕上,而不是在投影仪上,它们在哪里显示不同)。同样,将欢迎为此提供补丁。
Mark Shuttleworth 2010年

35

在临时通知中选择零铬是非常必要的,不会改变。理由是这些通知应尽可能轻巧。

但是,可以做一些事情来进一步帮助您。

有一个规范可以将通知的时间设置为可变-较长的消息将保留更长的时间,或者更新的消息将被扩展。一个补丁实现很受欢迎,它将使我们能够缩短非常短消息的时间:-)

另外,我们想添加一个“请勿打扰”模式,在此模式下,仅会显示系统(紧急)通知,例如电池电量严重不足和硬件问题。因此,您可以使用“请勿打扰”来避免人们在您的肩膀上看到您的通知,或者您已经连接到投影仪(尽管我们宁愿将通知放在笔记本电脑屏幕上,而不是在投影仪上,它们在哪里显示不同)。再次,欢迎对此进行修补。


哇,谢谢你的回答!我想我可能会哭!
theTuxRacer 2010年

5
我希望可以实施这种“请勿打扰”模式。
罗迪

对于此紧急通知系统,应该有一种方法可以区分哪些通知被归类为紧急通知。
Oxwivi 2011年

我不同意这些决定100%,但至少它们似乎运作良好。
罗兰迪克(RolandiXor)

我会尝试查看源代码并提交补丁(如果可能)。
绿色的

14

没有关闭按钮,鼠标上的斑点甚至都没有(当您单击它时,它只是单击了它后面的内容),请在此处查看详细信息:

https://wiki.ubuntu.com/NotifyOSD

此功能不会改变,已经有多个错误报告询问您的要求,所有这些报告都被最严格的条款拒绝了。

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


并将该程序绑定到热键,对吗?
延长

它已经在愿望清单上,但是我认为不会采取行动。请投票给bugs.launchpad.net/ubuntu/+source/notify-osd/+bug/381416
theTuxRacer 2010年

这个答案askubuntu.com/questions/14354/close-button-on-notify-osd/…基本上抢占了通知,尽管实际上并未禁用,但它们的显示是。这是暂时的,如果此过程停止,则通知显示将恢复。
乔治·罗威尔,2012年

7

您可以通过一种关闭按钮来获取通知。

在此处输入图片说明

Webupd8的文章

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

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

然后导航至应用程序> awn-applet-notification-daemon(这是AWN干线PPA中最新的AWN,它可能是较旧版本的Avant Window Navigator上的apps> 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_c​​olour”,依此类推。

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


1
碰巧的是,我现在的设置是这样的:)添加AWN的通知小程序可以为我提供所需的功能。感谢您的回答:)
theTuxRacer 2011年

3

除了使用前卫的窗口导航器,您还可以这样做(仅在Lucid上进行测试):

从软件中心安装xfce4-notified,然后按Alt+ F2并粘贴killall notify-osd

这将切换到XFCE的notify守护程序,该守护程序看起来与默认守护程序非常相似,将鼠标悬停在它上面时,只会显示一个关闭按钮。


2

我之前已经读过此书,可以理解设计推理,但实际上,当无法轻松清除它们时,它们会使人分心。

使用https://launchpad.net/caffeine,一个可以防止屏幕/电源节省的状态栏应用程序,也会禁用弹出窗口,所以我认为我建议这样做。

阻止通知确实突出了对通知历史记录的需求,但是这也引起了问题,并且无法解决:bugs.launchpad.net/notify-osd/+bug/382094


他们使通知几乎没有用。.–
Dakota

1

使用notify-osd-conf应用程序减少延迟。


我可能会尝试,但是实际上有些事情我需要一些时间来阅读自己。因此需要关闭按钮。否则,请多加注意!
theTuxRacer

2
@ObsessiveFOSS这旨在作为问题中给出的问题的解决方案,似乎可行。因此,即使这可以从扩展和更多细节中受益,但作为注释,它仍然会更好borjacampina:我建议编辑此内容以确切说明如何以这种方式减少延迟。
伊利亚·卡根


1

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

参考:

预先证明的概念,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)

一个非常非常非常幼稚的基本解决方案,比实际的,实质上是“障碍” notify-osd(或至少是其效果)的概念证明更多。完成测试后,别忘了终止它!通过ETX'ng与<ctrl> -C或关闭终端窗口等。它确实可以完成工作,但不是很实用!因为不幸的是其他工作遭受了试图做自己的工作的困扰...

  while true; do killall notify-osd; done

(要“听到”相关活动,您可能想“ grep退出”

 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"

停止第一个过程,然后重试消息。

也许可以引用一个notify-osd指标。热点关闭按钮不会(&不能!)驻留在通知窗口中,但在指示器面板上可用。这完全与Unity用于Windows的概念完全相似。顶部栏用于关闭通知的方式类似于Unity将窗口菜单流向顶部菜单栏的关闭,迷你,最大化框的方式。 unity-panel-servicekillall notify-osd

一个真正优雅的解决方案是,当notify-osd清单的DBus活动出现时,指示器就会出现;而在没有待处理的通知时,指示器就会消失。

它还可能解决堆积的通知问题 -一次只能看到一个通知,并且如果有多个通知待处理,则每个通知都必须在下一个出现之前蒸发掉-通常无法同时看到它们。

DBus-monitornotify-osd但是,即使已经显示了通知界面,通知界面也会立即对未决的通知进行确认。(并且如果killall notify-osd立即发出- 则很po!)

选择“全部”,将以下测试拖放到终端窗口:

  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"

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


0

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

除非有大量需求(而且没有需求),否则我不会很快看到这件事

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


0

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

相反,当您想允许其他人使用您的计算机时,只需在右上角的系统菜单(齿轮图标)中选择“切换用户”选项,然后使用来宾登录即可。这将构成一个供他们使用的临时会话,并且在该用户注销时不会保留任何浏览器历史记录,Cookie等…。这样一来,他们在从计算机中读取以太币时,就不会看到您的通知,也不会打扰您自己的任何数据(网络历史记录,下载,登录等)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.