Na CLI, você pode exibir e fechar um pop-up de notificação via gdbus / qdbus .
Veja como fazer isso com gdbus :
gdbus call --session --dest org.freedesktop.Notifications --object-path /org/freedesktop/Notifications --method org.freedesktop.Notifications.Notify my_app_name 42 audio-card "Message" "Body" [] {} 20
isto produzirá algo como:
(uint32 72,)
72 sendo a notificação ID . Agora que você conhece o ID , é possível fechar a janela pop-up com:
gdbus call --session --dest org.freedesktop.Notifications --object-path /org/freedesktop/Notifications --method org.freedesktop.Notifications.CloseNotification 72
Agora, se você precisar do ID mais tarde, basta gravá-lo em um arquivo quando chamar Notify :
gdbus call --session --dest org.freedesktop.Notifications --object-path /org/freedesktop/Notifications --method org.freedesktop.Notifications.Notify my_app_name 42 audio-card "Message" "Body" [] {} 20 | sed 's/[^ ]* //; s/,.//' > /tmp/last_id
e consiga-o de lá quando quiser fechar o pop-up:
gdbus call --session --dest org.freedesktop.Notifications --object-path /org/freedesktop/Notifications --method org.freedesktop.Notifications.CloseNotification $(cat /tmp/last_id)
P.S. Estou no Gnome 3 e as notificações enviadas via notify-send , pynotify , libnotify etc duram apenas 5 segundos, independentemente da opção time (esse é o comportamento padrão no Gnome 3, não me pergunte por quê). Além disso, eles não se acumulam: o Gnome exibe apenas uma notificação por vez. Então não posso testar com várias janelas pop-up, mas deve funcionar.