Bouton Fermer sur notify-osd?

41

Est-il possible d'obtenir un bouton de fermeture sur l'OSD?

Cela reste longtemps, et parfois j'ai des collègues sur mon PC, et je ne veux pas qu'ils voient qui est en ligne ou quelle chanson que j'écoute. Non, je ne peux pas le désactiver.

theTuxRacer
la source
La seule solution de contournement pour obtenir un bouton de fermeture sur la notification consiste à utiliser AWN et à utiliser le plug-in de notification. Cela fonctionne bien avec Rhythmbox et exaile aussi.
theTuxRacer
Cette réponse askubuntu.com/questions/14354/close-button-on-notify-osd/… préserve essentiellement l'affichage des notifications. Il est temporaire et si ce processus est arrêté, l'affichage de la notification reprend. Si "je ne peux pas le désactiver" signifie que vous n'êtes pas libre de désactiver le dbusmécanisme de notification , cette solution la laisse intacte ... si cela signifie que vous avez essayé et que vous avez été incapable de le faire, encore une fois, cette réponse fournir une solution.
George Rowell

Réponses:

16

Votre meilleur pari serait de rapporter un bogue et de demander la fonctionnalité. Lors du dépôt d'un tel bogue dans une liste de souhaits, assurez-vous d'indiquer à certains utilisateurs pourquoi cette fonctionnalité pourrait s'avérer utile pour une plus grande partie de la communauté d'utilisateurs Ubuntu.

Mike
la source
oui, je vais faire ça. Mais où puis-je faire ça? Rampe de lancement?
theTuxRacer
1
sa déjà sur la liste de souhaits, mais des mesures ne seront pas prises, je pense. s'il vous plaît voter bugs.launchpad.net/ubuntu/+source/notify-osd/+bug/381416
theTuxRacer
7
@Kaustubh P Lisez ceci, markshuttleworth.com/archives/253, en particulier cette partie: 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].Ne vous faites pas d' illusions , cela ne changera pas de si tôt.
Isaiah
1
Il existe une spécification pour rendre le calendrier de la variable de notification: les messages plus longs resteraient plus longtemps ou les messages mis à jour seraient étendus. Un correctif implémentant qui serait le bienvenu nous permettrait de raccourcir le temps imparti aux messages très brefs :-)
Mark Shuttleworth
10
De plus, nous aimerions ajouter un mode "Ne pas déranger", dans lequel seules les notifications système (urgentes), telles que les problèmes de batterie très faible et les problèmes matériels, seraient affichées. Vous pouvez donc éviter de déranger les gens quand ils regardent par-dessus votre épaule, ou si vous êtes branché sur le projecteur (bien que nous préférions placer les notifications sur l'écran de votre ordinateur portable et non sur le projecteur, où ils sont différents affichages). Encore une fois, un patch pour cela serait le bienvenu.
Mark Shuttleworth
35

Le choix d’avoir zéro chrome sur les notifications éphémères est très délibéré et ne va pas changer. La raison en est que ces notifications doivent être aussi légères que possible.

Cependant, certaines choses pourraient être faites pour vous aider davantage.

Il existe une spécification pour rendre le calendrier de la variable de notification: les messages plus longs resteraient plus longtemps ou les messages mis à jour seraient étendus. Un correctif implémentant serait le bienvenu, cela nous permettrait de raccourcir le temps de messages très courts :-)

Nous aimerions également ajouter un mode "ne pas déranger", dans lequel seules les notifications système (urgentes), telles que les problèmes de batterie très faible et les problèmes matériels, seraient affichées. Vous pouvez donc éviter de déranger les gens quand ils regardent par-dessus votre épaule, ou si vous êtes branché sur le projecteur (bien que nous préférions placer les notifications sur l'écran de votre ordinateur portable et non sur le projecteur, où ils sont différents affichages). Encore une fois, un patch pour cela serait le bienvenu.

Mark Shuttleworth
la source
wow, merci pour la réponse! Je suppose que je pourrais pleurer!
theTuxRacer
5
J'espère que ce mode "ne pas déranger" est mis en œuvre alors.
Roddie
Pour ce système de notifications urgentes, il devrait exister un moyen de différencier les notifications qui doivent être classées comme urgentes.
Oxwivi
Je ne suis pas entièrement d'accord avec ces décisions, mais au moins elles semblent bien fonctionner.
RolandiXor
J'essayerais de regarder dans le code source et de soumettre le correctif (si possible).
vert le
14

Il n'y a pas de bouton de fermeture, le blob n'est même pas là en termes de souris (lorsque vous cliquez dessus, vous cliquez simplement sur ce qui est derrière), voir les détails ici:

https://wiki.ubuntu.com/NotifyOSD

Cette fonctionnalité ne changera pas, plusieurs rapports de bogues vous ont demandé ce que vous demandiez, mais tous ont été refusés avec la plus grande fermeté.

Vous pouvez cependant créer un programme pour le fermer, bifurquer un peu le code osd et utiliser certaines des branches de code existantes qui le font déjà. Voir le programme D-Feet pour parcourir et jouer avec l'interface dbus de notifyosd et le code sur le tableau de bord.

Martin Owens -doctormo-
la source
Et liez ce programme à un raccourci clavier, non?
Extender
sa déjà sur la liste de souhaits, mais des mesures ne seront pas prises, je pense. s'il vous plaît voter bugs.launchpad.net/ubuntu/+source/notify-osd/+bug/381416
theTuxRacer
Cette réponse askubuntu.com/questions/14354/close-button-on-notify-osd/… prévient essentiellement les notifications et si elles ne sont pas désactivées, leur affichage est. Il est temporaire et si ce processus est arrêté, l'affichage de la notification reprend.
George Rowell
7

Il existe un moyen de recevoir des notifications avec un bouton de fermeture.

entrez la description de l'image ici

De l'article de Webupd8

Installez d’abord Avant Window Navigator à partir du centre logiciel et ajoutez le "Notification Daemon" au dock.

Maintenant, appuyez sur Alt + F2et collezgconf-editor

Ensuite, accédez aux applications> awn-applet-notification-daemon (il s’agit du dernier AWN issu du PPA de la ligne de commande AWN. Il peut s’agir des applications> avant-window-navigator> awn-applet-notification-daemon sur les anciennes versions d’Avant Window Navigator. ) Cliquez sur une touche pour afficher sa description en bas afin que vous sachiez comment la peaufiner. La clé la plus importante est: "kill_standard_daemon" - assurez-vous que cette option est activée, sinon les notifications AWN ne fonctionneront pas.

Par exemple, "override_x" est la position horizontale sur l'écran (pour lequel j'ai utilisé "1900" car ma largeur d'écran est de 1920 et je veux que les notifications soient affichées à droite), "override_y" est la position verticale ( pour lequel j’ai utilisé "30", le dialogue de notification s’affiche dans le coin supérieur droit) et "gradient_factor" correspond à la transparence. Cela devrait être suffisant pour vous aider à démarrer.

Pour personnaliser les couleurs, décochez la case "use_theme", puis spécifiez un "text_colour" et un "bg_colour" et ainsi de suite.

Une fonctionnalité importante que vous pouvez activer est "show_icon". Ceci affichera une icône sur votre dock Avant Window Navigator sur laquelle vous pourrez cliquer pour désactiver / activer temporairement les notifications.

Lincity
la source
1
C’est d’ailleurs coïncidence que ma configuration est en ce moment :) Ajouter l’applet de notification de AWN me donne la fonctionnalité que je veux. Merci pour la réponse :)
theTuxRacer
3

Au lieu d'utiliser avant window navigator, vous pouvez également le faire (uniquement testé sur Lucid):

Installez xfce4-notifyd à partir du centre logiciel et appuyez sur Alt+ F2et collezkillall notify-osd

Cela permet de basculer vers le démon de notification de XFCE, qui ressemble beaucoup à celui par défaut. Seul un bouton de fermeture apparaît lorsque vous passez le curseur de la souris dessus.

Lincity
la source
2

J'ai déjà lu à ce sujet et je peux comprendre le raisonnement de conception, mais dans la pratique, ils sont gênants quand ils ne peuvent pas être effacés facilement.

L’utilisation de https://launchpad.net/caffeine , une application de barre d’état qui peut empêcher l’économie d’écran / d’économie d’énergie, désactivera également les fenêtres contextuelles;

Le blocage de la notification met en évidence la nécessité d’un historique des notifications, mais c’est aussi un problème qui a été résolu et résolu sans solution: bugs.launchpad.net/notify-osd/+bug/382094

Cas
la source
Ils font des notifications une gêne à peine utile.
Dakota
1

Réduisez le délai avec l'application notify-osd-conf.

borjacampina
la source
Je pourrais essayer cela, mais il y a vraiment des choses que j'ai besoin de temps pour lire moi-même. d’où la demande d’un bouton de fermeture. sinon, merci pour le heads up!
theTuxRacer
2
@ObsessiveFOSS Ceci est conçu comme une solution au problème donné dans la question, et il semble que cela puisse fonctionner. Donc, même si cela bénéficierait d'une expansion et de plus de détails, ce ne serait pas mieux comme commentaire . borjacampina: Je recommande de modifier ceci pour expliquer exactement comment réduire le délai de cette manière.
Eliah Kagan
1

Signet: bouton Fermer sur notify-osd?

ref:

Des concepts éprouvés, bashla solution "désactivée" de graffiti OSD pop-up éprouvée est conçue et hachurée comme suit:

dbus-monitor "interface='org.freedesktop.Notifications'" |             \
grep --line-buffered "member=Notify"                     |             \
sed -u -e  's/.*/killall notify-osd/g'                   |             \
bash

Cela peut être exécuté dans un terminal ou en tâche de fond - arrêtez-le et les graffitis réapparaissent.

L'OP a déclaré "Non, je ne peux pas le désactiver". Si, par là, cela signifie que le système de notification NE DOIT PAS être désactivé par le poseur, cette solution est cohérente avec cela. Le système est intact. Si cela signifie que le poseur ne sait pas comment le faire, la solution est à nouveau pertinente.

Détails expliqués en dessous de la ligne. L’ultime serait d’intégrer tout dans (dans?) Le DBus, d’invoquer directement

  qdbus    org.freedesktop.Notifications                \
          /org/freedesktop/Notifications                \
           org.freedesktop.Notifications.CloseNotification(uint id)

Une solution rudimentaire très, très, très naïve, qui constitue davantage une preuve de concept que de la pratique, essentiellement une "désactivation" notify-osd(ou du moins ses effets). N'oubliez pas d'y mettre fin lorsque vous avez terminé les tests! par ETX'ng avec <ctrl> -C ou en fermant la fenêtre du terminal, etc. Il fait son travail, mais de manière peu pragmatique! car malheureusement, d'autres emplois souffrent d'essayer de faire le leur ...

  while true; do killall notify-osd; done

(pour "entendre" une activité pertinente que vous voudrez peut-être " grepsortir"

 notify-osd: no process found ....

)

Testez-le en l'exécutant dans une fenêtre de terminal et à partir d'une autre fenêtre de terminal, essayez de:

  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"

Arrêtez le premier processus, puis réessayez les messages.

Peut-être un notify-osdindicateur pour l' unity-panel-serviceinvoquer killall notify-osd. Le bouton de fermeture «Hot Spotted» ne serait pas (et ne peut pas!) Résider dans la fenêtre de notification, mais il serait disponible dans le panneau des indicateurs. Ceci est tout à fait analogue au concept que Unity a pour Windows. L'utilisation de la barre supérieure pour la fermeture des notifications est similaire à celle utilisée par Unity pour exiler les menus de la fenêtre avec des mini, maxi-boîtes très proches de la barre de menus supérieure.

Une solution vraiment élégante aurait l'indicateur apparaître lorsque l'activité DBus pour les notify-osdmanifestes et disparaît lorsqu'il n'y a pas de notifications en attente.

Cela pourrait également résoudre le problème des notifications empilées - une seule peut être vue à la fois. Si plusieurs notifications sont en attente, chacune d’elles doit s’évaporer avant l’apparition de la suivante - elles ne peuvent généralement pas être vues simultanément.

DBus-monitor« ng de l' notify-osdinterface de notification , sera toutefois la reconnaissance immédiate de l' attente des avis , même s'il y a une montre déjà. (ET si killall notify-osdest publié immédiatement - presto poof!)

Tout sélectionner, glisser-déposer dans une fenêtre de terminal aux tests suivants:

  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"

maintenant faire la même chose avec 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"

La killall notify-osdsolution proposée serait déclenchée lors de la DBus monitordétection d’une activité de graffiti dans une fenêtre OSD.

George Rowell
la source
0

C'était une décision délibérée de laisser de côté tout moyen d'interagir avec la bulle de notification (donc une notification passive), afin que vous puissiez poster un rapport de bogue sur Launchpad (il en existe peut-être déjà un) et faire pression pour qu'il soit modifié.

Ce n'est pas quelque chose que je peux voir se produire bientôt, sauf s'il y a une demande importante (et il n'y en a pas)

Il pourrait également être intéressant d'essayer de résoudre le problème en demandant un moyen d'empêcher certains programmes d'accéder au système notify-osd.

utilisateur5260
la source
0

Un bouton de fermeture sur les notifications elles-mêmes ne résoudra pas votre problème. Ils verront toujours les notifications et devront cliquer sur le bouton de fermeture pour les fermer, le cas échéant.

Ce que vous devriez faire à la place, c’est quand vous voulez autoriser d’autres personnes à utiliser votre ordinateur, choisissez simplement l’option "Changer d’utilisateur" dans le menu système en haut à droite (icône représentant une roue dentée), puis utilisez la connexion Invité. Cela créera une session temporaire à leur disposition et ne préservera pas l'historique du navigateur, les cookies, etc. lorsque cet utilisateur se déconnectera. Cela les empêchera de voir vos notifications, ainsi que de ne pas perturber vos propres données (historique Web, téléchargements, connexions, etc.) pendant leur traversée de votre ordinateur.

Dobey
la source