Dunst: Prise en charge des notifications natives de Chrome

Créé le 17 sept. 2017  ·  18Commentaires  ·  Source: dunst-project/dunst

Je voulais juste lancer une discussion pour voir quel type de travail serait nécessaire pour prendre en charge les notifications natives de Chrome. Il semble que dunst prenne en charge la plupart des fonctionnalités dont Chrome a besoin, mais dunst est toujours sur liste noire dans Chrome.

Plus de discussion peut être vue ici : https://bugs.chromium.org/p/chromium/issues/detail?id=676220

external

Commentaire le plus utile

Oups, mon mauvais ! Avec le maître Dunst actuel, il affiche même l'icône de notification personnalisée. (utilisait la 1.2.0 avant) Tout fonctionne parfaitement !

2017-12-07-134321_708x319_scrot

Tous les 18 commentaires

Je suppose que le chrome se comporte de la même manière et je l'ai testé hier sur du chrome :

En général, un serveur de notification peut prendre en charge des "capacités" . Dans le fil, il est dit que action et action-icons sont requis. Mais même après avoir prétendu que dunst prend en charge action-icons , chromium n'envoie pas les notifications à dunst. Chrome n'interroge pas non plus les capacités.

Seul le fait de forcer le chrome aide à le faire.

Hm, d'après ce que je vois dans la source, les seules capacités requises sont body et action

@tsipinakis dbus-monitor path=/org/freedesktop/Notifications n'affiche même aucune activité lors du lancement d'une notification.

Peut-être que @hobarrera pourra vous en dire plus sur sa participation au fil.

Désolé, il n'y a pas grand chose de plus que je puisse ajouter.

Le patch qui fait la liste noire lui-même est ici . Mon C++ n'est pas assez bon pour suivre, mais peut-être que vous pouvez trouver quelque chose de pertinent.

En fait, il semble que l'appel GetCapabilities soit effectué lors du lancement de Chrome, pas lors de l'affichage d'une notification :

$ dbus-monitor path=/org/freedesktop/Notifications                                            
signal time=1505773000.276594 sender=org.freedesktop.DBus -> destination=:1.1082 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
   string ":1.1082"                            
signal time=1505773000.276608 sender=org.freedesktop.DBus -> destination=:1.1082 serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
   string ":1.1082"                            
method call time=1505773003.220341 sender=:1.1086 -> destination=org.freedesktop.Notifications serial=3 path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications; member=GetCapabilities

La dernière version stable de dunst renvoie ceci : ['actions', 'body', 'body-hyperlinks', 'body-markup'] .

Attendez, alors vous dites que les notifications publiées par chrome ne devraient pas être affichées via dunst ?
Parce qu'ils le font pour moi.

Les deux entrées commençant par # sont des actions et ne font rien du tout.
De plus, l'icône est toujours l'icône d'information générique.

2017-09-20-091531_1920x1080_scrot

ps c'est chrome 61 mais ça marche depuis que google a introduit les notifications natives sur linux.

@JesseFarebro Quelle version utilisez-vous pouvez-vous vérifier que vous en utilisez une qui prend en charge les notifications natives ?

@Tadly Pouvez-vous fournir un vidage dbus-monitor commençant par un chrome fermé et recevant une notification ? Juste pour avoir une idée du comportement de Chrome, du lancement à l'envoi de notifications et aux actions.

L'icône peut être liée à #339 si vous êtes sur la dernière version stable.

@Tadly pourriez-vous également fournir le paramètre du drapeau chrome://flags/#enable-native-notifications ?

@tsipinakis si vous me dites comment, bien sûr. Je n'ai jamais utilisé aucun des outils dbus et je n'ai jamais travaillé avec dbus lui-même. Cela me ferait gagner beaucoup de temps :)

De plus, les icônes fonctionnent généralement. Chrome est le seul que j'ai remarqué qu'il ne le faisait pas (je ne reçois pas beaucoup de notifications sur Linux cependant)

@bebehei chrome://flags/#enable-native-notifications est activé. Je me souviens l'avoir fait maintenant que tu le dis :)

si tu me dis comment, bien sûr

Fermez simplement Chrome, exécutez dbus-monitor dans un terminal, puis ouvrez Chrome et envoyez une notification à partir de celui-ci.

@tsipinakis Je ne savais pas où le mettre d'autre mais voilà... https://pastebin.com/uS6bJn4q

@bebehei chrome://flags/#enable-native-notifications est activé. Je me souviens l'avoir fait maintenant que tu le dis :)

C'est donc la raison. Pouvez-vous s'il vous plaît tester, que "par défaut" n'affiche pas les notifications ?

@tsipinakis Pour moi, cela ressemble à un bug d'implémentation de chrome. dunst fournit toutes les majuscules requises et il semble que chrome se comporte mal dans son comportement "par défaut".

@bebehei Peut confirmer. Le remettre à sa valeur par défaut me donne à nouveau des notifications Chromes.

@tsipinakis Exécutant Chrome 61, dernière version. J'ai activé #enable-native-notifications et lorsque j'exécute dbus-monitor lors du lancement de chrome, aucune requête n'est envoyée à dbus pour les capacités de notification. L'exécution du dernier dunst à partir du maître et de notify-send vérifié fonctionne comme prévu avec les requêtes dbus correctes.

Vous pouvez suggérer autre chose ?

il semble que chrome se comporte mal dans son comportement "par défaut".

Commentaire des sources du dernier chrome stable :

// Selection of the implementation works as follows:
//   - Android always uses the NativeNotificationDisplayService.
//   - Mac uses the NativeNotificationDisplayService by default but
//     can revert to MessageCenterDisplayService via
//     chrome://flags#enable-native-notifications or Finch
//   - Linux uses MessageCenterDisplayService by default but can switch
//     to NativeNotificationDisplayService via
//     chrome://flags#enable-native-notifications
//   - All other platforms always use the MessageCenterDisplayService.

Ainsi, comme vous pouvez le voir, ce comportement est intentionnel, alors que Mac utilise des notifications natives pour "Par défaut", Linux ne le fait pas et nécessite le drapeau 😞.


L'icône peut être liée à #339 si vous êtes sur la dernière version stable.

Sur le dernier master, l'icône ne s'affiche toujours pas lorsque la notification est envoyée par chrome (par exemple par ce site Web ). Comme il a été mentionné, les images sont présentes lorsque les notifications sont envoyées par d'autres applications, il doit donc s'agir de quelque chose à voir spécifiquement avec le chrome.


@JesseFarebro J'ai remarqué que si chromium --enable-native-notifications les notifications natives ne sont pas activées, mais si elles sont définies sur #enable-native-notifications sur Enabled dans chrome://flags , les notifications natives commencent à fonctionner . Je ne sais pas pourquoi, d'autres indicateurs semblent fonctionner même lorsqu'ils sont passés en tant qu'argument CLI. Essayez différentes manières de définir le drapeau, peut-être que l'une d'entre elles fonctionnera pour vous.

MISE À JOUR : j'ai découvert que c'est la bonne façon d'activer ce drapeau via les arguments CLI : chromium --enable-features=NativeNotifications

Le drapeau a été activé par défaut et sera livré dans Chromium 64 .

La notification affiche l'icône Chrome générique lors de l'utilisation de 64.0.3278.0 (canal de développement).

Oups, mon mauvais ! Avec le maître Dunst actuel, il affiche même l'icône de notification personnalisée. (utilisait la 1.2.0 avant) Tout fonctionne parfaitement !

2017-12-07-134321_708x319_scrot

@slokhorst Merci de nous avoir notifié. Comme la fonctionnalité est désormais disponible dans le flux et sera publiée fin janvier, je vais clore ce problème.

Les icônes manquantes sont probablement liées à #447. Je peux dire avec certitude qu'une nouvelle version de Dunst est sortie avant Chrome.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

Anachron picture Anachron  ·  4Commentaires

patrick-motard picture patrick-motard  ·  6Commentaires

catzybluphish picture catzybluphish  ·  6Commentaires

ahjstone picture ahjstone  ·  4Commentaires

Kaligule picture Kaligule  ·  5Commentaires