Я написал небольшой скрипт на python, который использует уведомления, чтобы предупредить пользователя, когда что-то происходит. Сценарий запускается в среде рабочего стола на основе корицы или гнома.
Суть сценария в следующем:
from gi.repository import Notify
Notify.init("My Program Name")
notification = Notify.Notification.new("Hi")
notification.show()
Notify.uninit()
Notify.init("My New Program Name")
notification = Notify.Notification.new("Hi")
notification.show()
Notify.uninit()
from subprocess import call
call(['notify-send', 'hello', 'world'])
call(['notify-send', 'hello', 'again'])
Как вы можете видеть, скрипт использует Notify для отправки первых двух сообщений и вызов подпроцесса для отправки двух последних сообщений.
Что произойдет, когда вы запустите это, вы получите 4 сообщения в виде уведомлений.
Если я нажимаю на одно из сообщений «Уведомить», они оба сразу удаляются.
Если я нажимаю на любой из «вызовов подпроцесса», они удаляются отдельно в зависимости от того, на какой из них я нажимаю. Это поведение, которое я хотел бы для сообщений "Уведомить".
Как вы можете видеть в коде, который я предоставил, я попытался повторно инициировать Notify с новым именем программы, чтобы попытаться получить сообщения из другого источника, но сообщения по-прежнему удаляются одновременно независимо от того, на какой я нажимаю.
Как я могу получить только одно сообщение, которое будет удалено за один раз при использовании Notify?
(Я не могу просто использовать вызовы подпроцесса, поскольку я также хочу добавить к уведомлению действие, которое, я не считаю, возможно с уведомлением-отправкой.)