web-dev-qa-db-fra.com

Notify-send ignore le délai d'attente?

Peut-être que je fais quelque chose de mal, mais les commandes (exécutées séparément)

notify-send -t 1 "test"
notify-send -t 1000 "test"
notify-send -t 10000 "test"

Avez-vous des délais d'attente différents? Le premier étant presque instantané, le second prenant 1 seconde et le troisième 100 secondes. Dans tous les cas, cela semble prendre environ six secondes.

Y a-t-il un moyen de contourner le comportement? Comme les développeurs qualifient cela de "fonctionnalité" plutôt que de bug, je voudrais quelques alternatives ...

47
Hooked

C'est un bug connu: https://bugs.launchpad.net/ubuntu/+source/notify-osd/+bug/390508

(Ceci est considéré comme une 'décision de conception' par le responsable.)

44
Boris Bukh

Comme mentionné dans l'un des messages ci-dessus, il existe une décision de conception pour interdire cette fonctionnalité. Heureusement pour vous, d'autres personnes sont également en désaccord et ont mis en place un PPA et vous pouvez également inverser cette décision pour votre système.

Pour résoudre votre problème, il suffit de:

Sudo add-apt-repository ppa:leolik/leolik 
Sudo apt-get update
Sudo apt-get dist-upgrade
Sudo apt-get install libnotify-bin
pkill notify-osd

Optionnel

Pour ajouter encore plus de fonctionnalités à envoyer-notifier que vous n'en avez actuellement:

À partir d’Ubuntu 16.04:

Sudo add-apt-repository ppa:nilarimogard/webupd8
Sudo apt update
Sudo apt install notifyosdconfig

Pour les versions 9.10-14.10:

Sudo add-apt-repository ppa:amandeepgrewal/notifyosdconfig
Sudo apt-get update
Sudo apt-get install notifyosdconfig

Pour plus d'informations sur la solution ci-dessus, lisez cet article:

Bulles de notification configurables pour Ubunt

21
Fabby

Il s’agissait d’une violation intentionnelle des conventions établies, sans exclusion dans l’environnement du terminal hôte. c'est à dire. notify-send ne devrait plus exister car il compromet les fonctionnalités attendues et documentées bien établies. Une nouvelle commande, notify-graffiti, devrait maintenant exister - Quoi ???? Attendez une seconde ... tous les scripts qui utilisent l'orthographe "conventionnelle" du nom de la commande seront compromis!?! en changeant la convention de l'épellation du nom de la commande?!?! - hmmm Cette philosophie est exceptionnellement, paradoxalement hypocrite, comme le préconise l'interface de terminal de bureau Unity.

Cela ne peut pas être fait dans les deux sens - en préservant certaines conventions. le nom d'une commande et pourtant pas d'autres, la fonctionnalité d'une commande telle que documentée. Si la fonctionnalité doit être compromise, le nom de la commande doit également l'être afin de préserver l'intégrité, la convention, la cohérence, etc., de "l'expérience" de l'utilisateur, ou bien cet utilisateur est "frustré", "ennuyé", "irritant",. ..

ref:

Signet:
Notify-send ignore le délai d'attente?

4
George Rowell

Il existe un petit script très pratique, notify-send.sh , utilisé comme remplacement instantané de notify-send, qui vous permet de fermer ou remplace les notifications envoyées précédemment.

Modifier: comme l'a souligné @Glutanimate, ce script prend en charge le délai d'expiration par défaut.

Je n'arrivais pas à faire fonctionner le délai d'expiration, alors je me suis plutôt tourné vers un moyen hacky d'envoyer une notification avec un délai d'expiration de 2 secondes comme celui-ci:

notify-send.sh --print-id test | xargs -I {} bash -c "sleep 2 && notify-send.sh --close={}" &

2
NiMa Thr

Pour ceux qui utilisent l'environnement de bureau Cinnamon, un paramètre peut être activé:

Notifications> Supprimer les notifications une fois leur délai d'attente écoulé

0
Shai Coleman