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

47

Peut-être que je fais quelque chose de mal, mais les commandes ne devraient-elles pas être exécutées séparément?

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

Vous avez 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é" au lieu d’un bug, je voudrais des alternatives ...

    
posée Hooked 07.03.2012 - 22:17
la source

4 réponses

42

Ceci est un bogue connu: lien

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

    
réponse donnée Boris Bukh 22.04.2012 - 12:43
la source
20

Comme mentionné dans l'un des articles ci-dessus, il existe une décision de conception visant à 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 revenir sur cette décision pour votre système.

Pour résoudre votre problème simplement:

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

Facultatif

Pour ajouter encore plus de fonctionnalités à send-notify que celles que vous 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 Ubuntu

    
réponse donnée Fabby 02.11.2014 - 19:27
la source
4

Il s’agissait d’une violation intentionnelle des conventions établies sans disqualification dans l’environnement du terminal hôte. c'est à dire. notify-send ne devrait plus exister car cela compromet la fonctionnalité bien établie et attendue, et une nouvelle commande notify-graffiti devrait maintenant exister - What ???? Attendez une seconde ... tous les scripts qui utilisent l'orthographe du nom de commande "classique" seront compromis!?! en changeant la convention de comment le nom de la commande est épelé?!?! - hmmm Cette philosophie est exceptionnellement, paradoxalement hypocrite, telle que l’adopte l’interface du terminal de bureau Unity.

Cela ne peut pas être fait dans les deux sens - en préservant certaines conventions, c’est-à-dire. le nom d'une commande et pas d'autres, la fonctionnalité d'une commande telle que documentée. Si la fonctionnalité doit être compromise, le nom de la commande doit être modifié de manière à préserver l’intégrité, la conventionnalité, la cohérence, etc. de l’expérience de l’utilisateur ou cette frustration, cette gêne, cette irritation, etc. ..

ref:

Signet:
Notify-send ignore les délais d'attente?

    
réponse donnée George Rowell 24.09.2012 - 17:27
la source
1

Il existe un petit script pratique notify-send.sh comme remplacement instantané pour notify-send. qui vous permet de fermer ou de remplacer les notifications précédemment envoyées.

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

Je ne pouvais pas avoir le temps d’expiration pour travailler à la fin, alors je suis plutôt allé dans le sens du piratage pour envoyer une notification avec 2 secondes timeout comme ceci:

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

    
réponse donnée NiMa Thr 25.01.2018 - 11:17
la source

Lire d'autres questions sur les étiquettes