web-dev-qa-db-fra.com

Existe-t-il un moyen d'afficher l'historique des notifications?

Si je m'éloigne de mon PC, il y a de fortes chances que je manque certaines notifications. J'ai vu dans KDE que les notifications étaient stockées et empilées jusqu'à ce que vous cliquiez dessus (ou peu importe).

À moins que quelque chose me manque, Ubuntu ne semble pas avoir un historique de notifications cliquables.

Y a-t-il un moyen de faire cela?

46
Gonzoza

Prenez Notifications récentes .

screenshot recent notifications

Dans un terminal:

Sudo add-apt-repository ppa:jconti/recent-notifications
Sudo apt-get update
Sudo apt-get install indicator-notifications

Sinon, vous pouvez télécharger le package directement sur le site tableau de bord . Pour Ubuntu 11.10 Oneiric sur une machine i386, choisissez indicator-notifications_0.1.4-2~ppa~oneiric_i386.deb . (N'installez pas recent-notifications)

Après avoir installé run Alt+F2 unity --replace.

Vous trouverez une petite boîte aux lettres dans le panneau:

recent notifications in panel

Il est possible d'aligner l'icône sur le thème de votre bureau, i. e. quand vous utilisez Faenza:

mkdir ~/.icons/Faenza/status/scalable
cp /usr/share/icons/Faenza/status/scalable/user-available-symbolic.svg ~/.icons/Faenza/status/scalable/indicator-notification-unread.svg
cp /usr/share/icons/Faenza/status/scalable/user-away-symbolic.svg ~/.icons/Faenza/status/scalable/indicator-notification-read.svg

new Faenza icons

Pour l'arrêter, vous devez l'annuler:

Sudo apt-get purge indicator-notifications

Puis à nouveau courir Alt+F2 unity --replace.

Pour supprimer le PPA, exécutez:

Sudo add-apt-repository -r ppa:jconti/recent-notifications
24
Jakob

Le commentaire lié ici, Y a-t-il un moyen d'afficher l'historique des notifications? , a demandé:

Cela peut-il être fait sans ajouter un autre PPA?

Oui


Ouvrez deux fenêtres de terminal (Ctrl+Alt+T+T). La fenêtre supplémentaire est nécessaire uniquement à des fins de test.


Notifications du moniteur dans l'une des fenêtres du terminal avec:

dbus-monitor "interface='org.freedesktop.Notifications'"    |     \
grep --line-buffered  "member=Notify\|string"

(pour l'arrêter, fermez la fenêtre ou tapez Ctrl+C)

Note le fait que l'exécution de ce script n'affiche que les notifications apparues à partir du moment où il est démarré et doit être exécuté avant les processus et aps. pour lequel l'histoire est souhaitée. Si la taille du défilement de la fenêtre du terminal est insuffisante, modifiez les lignes de défilement Edit > Profile Preferences > Scrolling ou enregistrez l'historique comme décrit ci-après.

Pour enregistrer la sortie dans un journal permanent, il vous suffit de la rediriger vers un fichier en ajoutant >>path/filename.ext à la fin de la ligne grep. Pour enregistrer et afficher les avis, ajoutez | tee >>path/filename.ext à la ligne grep.


Essaye-le.

  1. Utilisation de Pangolin 12.04 Live SD/USB
  2. Activez et désactivez le réseau sans fil.
  3. Utilisez l’autre fenêtre du terminal pour faire d’autres notifications avec:
 pour i dans {0..100..20}; 
 faire 
 killall notify-osd; 
 notify-send "testing $ i" $ i; 
 sommeil 0.5; 
 fait 

Résultats

Une utilisation judicieuse de grep et sed etc. peut assez imprimer les notifications qui sont grossièrement montrées ci-dessous pour ces exemples surveillés. Le texte correspondant aux graffitis dans les bulles de notification apparaît dans bold. Les deux chaînes qui précèdent sont l'ap. indiquez le graffiti ("NetworkManager" ou "notify-send") et le nom de l'icône, le cas échéant ("notification-network-wireless-disconnected"), dans la bulle contextuelle.

 string ": 1.380" 
 méthode appel expéditeur =: 1.14 -> dest =: 1.379 série = 8691 
 chemin =/org/freedesktop/Notifications; interface 
 = org.freedesktop.Notifications; membre = chaîne de notification 
 "chaîne NetworkManager" 
 chaîne "notification-network-wireless-disconnected" [chaîne de 
 "Lien manquant"
   chaîne "Déconnecté - vous êtes maintenant hors ligne"
 chaîne" urgence "
 chaîne" transitoire "
 méthode appel expéditeur =: 1.14 -> dest =: 1.379 série = 8782 
 chemin =/org/freedesktop /Notifications;
 Interface = org.freedesktop.Notifications; member = Notify 
 Chaîne "NetworkManager" 
 Chaîne "notification-network-wireless-full" chaîne ".____.]"Lien manquant"
   chaîne "Connection établie"
 chaîne" urgence "
 chaîne" transitoire "
 méthode appel expéditeur =: 1.386 -> dest =: 1.389 série = 7 
 chemin =/org/freedesktop /Notifications;
 Interface = org.freedesktop.Notifications; membre = Notify 
 Chaîne "notify-send" 
 Chaîne "" 
 Chaîne "test 0"
   chaîne ""
 chaîne" urgence "

. . .

 méthode appel expéditeur =: 1.426 -> dest =: 1.429 série = 7 
 chemin =/org/freedesktop/Notifications; 
 interface = org.freedesktop.Notifications; membre = chaîne de notification 
 "notification-envoi" 
 chaîne "" 
 chaîne "test 80"
       chaîne "80"
 chaîne" urgence "
 méthode appel expéditeur =: 1.430 -> dest =: 1.433 série = 7 
 chemin =/org/freedesktop/Notifications; interface 
 = org.freedesktop.Notifications; member = Notify 
 chaîne "notify-send" 
 chaîne "" 
 chaîne "test 100"
       chaîne "100"
 chaîne" urgence "

références croisées:
... être fait ...

17
troll la la la