web-dev-qa-db-ja.com

すべてのgnome Shell通知をクリアするにはどうすればよいですか?

Jupiterをパワーマネージャーとして使用しています。今、私はそれからかなりの数の通知を受け取ります。これらすべての通知を受け取るという事実に問題はありません。

ただし、数回のクリックですべてのgnomeシェル通知をクリアできるようにしたいと思っています。現在、画面の下部のエッジ全体に通知が表示されており、各アイテムを1つずつ消去したくありません。

だから私の質問は、これらの通知をどのようにクリアするのですか?これがUIで不可能な場合、それを行うための拡張機能を書くことは可能ですか?この機能をgnome開発者にどこに提案すればよいですか? Gnomeフォーラムはもうほとんど機能していません。管理者は私の作成したアカウントを5日間アクティブにしませんでした!

21
aatish

私の知る限り、現在gnome-Shellのすべての通知をクリアする方法はありません。下の画面はこんな感じですか? (Firefoxではなく、下部パネルにあふれているアプリケーション)

enter image description here

Wikiですべてのデザインドキュメントを検索しようとしましたが、すべての通知をクリアするためのデザインや仕様が見つかりません。

バグレポートはこちら を開くと、この機能をリクエストできます


追加情報:Unityでのクリア

これは、App Indicatorを使用したパッシブ通知が非常に理にかなっているユースケースの1つです。通知が山積みになることを気にする必要はありません。注意が必要な通知はアプリのインジケーターに表示され、クリアできます

enter image description here

5
Manish Sinha

Fedoraフォーラムのこの回避策を恥知らずに使用 here

次のように入力して、gnome-Shellをリセットできます。 Alt+F2、入る r そして打つ enter。これにより、GNOMEシェルがリセット/再起動されるため、すべての通知がクリアされます。

18
Maarten Verwijs

それでも問題が解決しない場合は、jupiterを使用するための回避策を見つけました。トリックは、jupterが送信する通知に一時的なヒントを追加することです。

私にとって(11.10のwebupd8 ppaを介してjupiterをインストール)、変更する適切なファイルは/usr/lib/jupiter/scripts/notifyです

私の設定では、スクリプト内の--hint int:transient:1のすべての呼び出しにnotify-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
    }

これは、すべての通知をクリアするわけではないため、実際にはあなたの質問に対する直接的な答えではありませんが、少なくとも木星の通知が積み重なるのを防ぎます。

お役に立てれば!

17
jat255