Bildirim api'sinin, yeni bir açılır pencere oluşturmak yerine güncellenmesi gereken güncel bir bildirimin kimliğini belirtmek için bir aracı vardır, ancak notify-sendbunu sağlamaz. Az miktarda python kullanmaya istekliyseniz, yaptığınız zaman bir bildirimin kimliğini alabilir ve daha sonra bu kimliği güncellemeyi deneyebilirsiniz. Aşağıdaki python2 kodunu PATH'inizde bulunan bir dizine bir dosyaya koyun, söyleyin mynotify-sendve yapın chmod +x mynotify-send:
#!/usr/bin/python
import argparse, gi
#gi.require_version('Notify', '0.7')
from gi.repository import Notify
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument('-m', '--message', default="body")
parser.add_argument('-i', '--id', type=int)
return parser.parse_args()
def run(myid,message):
Notify.init("mynote")
obj = Notify.Notification.new("my summary", message)
obj.set_timeout(60*1000)
if myid:
obj.set_property('id', myid)
obj.show()
newid = obj.get_property('id')
print newid
else:
obj.show()
myid = obj.get_property('id')
print myid
def main():
options = parse_args()
run(options.id, options.message)
main()
Siz de yüklemelisiniz python-gobject. Kaçtığında
mynotify-send -m 'message 1'
bildirimi açar, ancak ayrıca stdout'a bir kimlik yazdırır. Genellikle bu, bildirim sayısını sayan küçük bir sayıdır, örneğin 6. Daha sonra bu kimliği ekleyerek mevcut açılan penceredeki iletiyi değiştirebilirsiniz:
mynotify-send --id 6 -m 'message 2'
Pop-up mevcut olduğu sürece bunu yapabilirsiniz. Açılır pencereden çıktıktan sonra bir sonraki mesaj, örneğin 7programın yazdırdığı yeni bir kimliği alır ve bunu daha sonraki mesajlarda kullanmak zorunda kalırsınız. Temel olarak bir kabuk betiğinde programın çıktısını hatırlar ve her seferinde yeniden kullanırsınız.