如何清除所有gnome shell通知?


21

我使用Jupiter作为电源管理器。现在,我从中收到了大量通知。我收到所有这些通知这一事实没有问题。

但是,我确实希望能够通过单击几下清除所有gnome shell通知。目前,屏幕的整个底部边缘都充满了通知,我不想一一清除每个项目。

所以我的问题是,如何清除这些通知?如果在ui中无法做到这一点,是否可以编写扩展来做到这一点?我应该在哪里向gnome开发人员推荐此功能?Gnome论坛现在快要死了,管理员已经有5天没有激活我创建的帐户了!


诸如此类的程序hplip将其所有通知分组到我的GNOME Shell通知区域中的一个可滚动列表中。也许这是一个错误?
Christopher Kyle Horton

Answers:


5

据我所知,目前无法清除gnome-shell中的所有通知。您的底部屏幕是这样的吗?(不是Firefox,但所有应用程序都淹没在下部面板中)

在此处输入图片说明

我尝试搜索Wiki上的所有设计文档,但仍然找不到清除所有通知的任何设计或规格。

您可以通过在此处打开错误报告来请求此功能


额外信息:Unity中的清除

这是一个用例,其中带有App Indicator的被动通知很有意义。您不必为堆积的通知而烦恼。需要您注意的那些通知显示在应用程序指示器中,可以清除

在此处输入图片说明


嗨,看来其他人在论坛上也发表了关于同一问题的文章。感谢您给我链接。好吧,我真的更喜欢gnome shell的消息托盘系统,而且我可以聊天而不转移到另一个应用程序这一事实。话虽如此,我认为通知应该能够轻易被驳回。
2011年

@ user19448我认为在这种特殊情况下,聊天部分与通知无关。那更多是将共情与深度整合到gnome-shell中。如果没有聊天集成,您是否还会选择gnome-shell消息托盘系统?
Manish Sinha

我回复的时间太晚了。不,不是。我真的很喜欢Gnome Shell中的聊天集成功能。将其与Unity进行比较,在Unity中,每次有人说出我需要单击的小按钮,然后仔细地(不失去弹出菜单的焦点)下移并选择一个项目以使聊天窗口成为焦点。当这样(更及时)按alt标签并找到聊天窗口比较便宜时,拥有这样的指示器菜单有什么意义?聊天本身并不是一个动作,它是对您所做的任何事情的补充活动,我认为Gnome Shell确实可以理解这个想法。
aatish 2012年

@ user19448“下去选择一个要使聊天窗口聚焦的项目”->您似乎错过了“消息菜单”的作用。这是针对那些在工作时不会引起您注意的通知。通知您重要的事情正在等待您的时间。消息菜单与操作本身无关,而是指示。您误解了消息菜单。其次,比较综合聊天和“消息传递菜单”是比较苹果和橙子
Manish Sinha 2012年

18

在这里的Fedora论坛上无耻地使用此变通方法。

您可以通过输入Alt+ F2,输入r并点击来重置gnome外壳enter。这将重置/重新启动GNOME Shell,因此清除所有通知。


在我的Fedora机器上寻找该解决方案,它就像一个时钟。我个人认为,这是最好,最简单的答案。
Rubens Mariuzzo

是的,这是目前看来唯一实际完成的工作。
阿谢德2014年

这从我的扩展中删除了所有配置。我不得不重新配置所有。他们都没有被激活。
塞巴斯蒂安·巴特

优秀,要解冻外壳!

17

如果这仍然困扰您,我发现了使用木星的解决方法。诀窍是将瞬态提示添加到jupter发送的通知中。

对我来说(通过11.10上的webupd8 ppa安装jupiter),要修改的适当文件是 /usr/lib/jupiter/scripts/notify

对于我的设置,我要做的更改是添加--hint int:transient:1notify-send脚本中的每个调用中。因此,我的木星通知脚本从:

    function notify {
      if [ ! "$NO_NOTIFY" = "1" ]; then
        ICON=$2
        MESSAGE=$1
        if [ "$DISTRIB_RELEASE" = "9.10" ]; then
          DISPLAY=:0.0 /usr/bin/notify-send -i $ICON -t 1500 "$MESSAGE" 2>/dev/null
        else
          USER=$(who | sed -n '/ (:0[\.0]*)$\| :0 /{s/ .*//p;q}')
          USERCNT=$(who | wc -l)
          if [ ! "$(whoami)" = "$USER" ]; then
            if [ ! "$USERCNT" -lt 1 ]; then
               su $USER -l -c "DISPLAY=:0.0 /usr/bin/notify-send -i $ICON -t 700 \"$MESSAGE\" 2>/dev/null"
            fi
        else
            if [ ! "$USERCNT" -lt 1 ]; then
             /usr/bin/notify-send -i $ICON -t 700 "$MESSAGE" 2>/dev/null
            fi
          fi
        fi
      fi
    }

至:

    function notify {
      if [ ! "$NO_NOTIFY" = "1" ]; then
        ICON=$2
        MESSAGE=$1
        if [ "$DISTRIB_RELEASE" = "9.10" ]; then
          DISPLAY=:0.0 /usr/bin/notify-send --hint int:transient:1 -i $ICON -t 1500 "$MESSAGE" 2>/dev/null
        else
          USER=$(who | sed -n '/ (:0[\.0]*)$\| :0 /{s/ .*//p;q}')
          USERCNT=$(who | wc -l)
          if [ ! "$(whoami)" = "$USER" ]; then
            if [ ! "$USERCNT" -lt 1 ]; then
               su $USER -l -c "DISPLAY=:0.0 /usr/bin/notify-send --hint int:transient:1 -i $ICON -t 700 \"$MESSAGE\" 2>/dev/null"
            fi
        else
            if [ ! "$USERCNT" -lt 1 ]; then
             /usr/bin/notify-send --hint int:transient:1 -i $ICON -t 700 "$MESSAGE" 2>/dev/null
            fi
          fi
        fi
      fi
    }

这并不是您问题的直接答案,因为这不会清除所有通知,但至少可以防止木星的通知堆积起来。

希望这可以帮助!


1
--hint int:transient:1是蜜蜂的膝盖!非常感谢。它也解决了我的问题notify-send(在我自己的管理脚本中)。
sehe

-1

单击任何通知,它将消失,除非它具有自己的菜单(信息性应用程序和最小化应用程序)。


是的,当您有150条通知时,问题就来了。没人真正想单击150次来重置所有这些。就我而言,我有Google驱动器同步,每次同步时都会通知我。如果我正在处理文件并且正在保存,我会不断收到状态更改的通知。
csgeek 2013年

-2

只需按Alt+ F2,输入字母R并打Enter

这不是清除通知的解决方案,但是我将其用于此目的。:)这实际上是要重新启动GNOME Shell。GNOME Shell重新启动后,所有通知均消失。

您不必担心您的应用程序将被终止。这仅重新启动GNOME Shell。您的所有(其他)程序都保持与重新启动之前相同的状态(例如,即使YouTube上的电影从重新启动GNOME Shell之前的那一刻起就重新启动)。


4
这基本上与先前的答案相同。您已经添加了更多信息...但是您可以考虑将其添加为其他答案的编辑内容。(不要使其他答案与该答案完全相同,只需添加缺少的信息即可。)如果选择这样做,则可以继续删除此答案。
伊利亚·卡根
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.