Você pode, mas deve usar um libnotify para fazer isso
notify-send
não tem a capacidade de substituir as notificações existentes antes de expirarem (ou desaparecerem). Este é um bug conhecido . No entanto, um comentarista no relatório de erros postou um patch para corrigir isso.
Instalando o patch libnotify-bin do PPA
Eu criei uma versão corrigida do pacote libnotify-bin que permite substituições no meu PPA. Atualmente é apenas para o Ubuntu 12.04, mas se você precisar de qualquer outra versão suportada atualmente, por favor poste um comentário e eu farei o meu melhor para disponibilizá-lo.
Para instalar, abra um terminal e:
sudo apt-add-repository ppa:izx/askubuntu sudo apt-get update sudo apt-get install libnotify-bin
Como usar os recursos de substituição
O notify-send
corrigido inclui dois novos comutadores, -p
(ou - print-id ) e -r
(ou - replace-id ). O --help
descreve-os como:
-p, --print-id Print the notification ID. -r, --replace-id=REPLACE_ID The ID of the notification to replace.
- Com
-p
, cadanotify-send
retornará uma ID N (número / número inteiro). - A emissão de outro
notify-send
com-r N
substituirá a notificação anterior imediatamente . -
Por exemplo, para bash, você pode salvar o ID de
notify-send -p ...
com:NID=$(notify-send -p "MESSAGE-1")
e, em seguida, substitua-o por:
notify-send -r $NID "MESSAGE-2"
-
Você pode recursivamente usar ambos -p e -r em um script, desde que a variável -r seja inicializada para 0 no começo.
-
Aqui está um script simples que mostra as notificações contando de 0 a 100 em intervalos de meio segundo:
#!/bin/bash
NID=0
for i in {0..100..10} do NID=$(notify-send -p -r $NID $i) sleep 0.5 done