Gtk 通知不显示 body 持有 '<'

Gtk notifications don't display body holding '<'

我正在尝试在 python 中使用 pygobject(版本 3.16)的通知模块显示通知。我的代码运行良好,除非 body 消息中有 <。在这种情况下,不会显示 body。

例如使用此代码,一切正常:

from gi.repository import Gtk, Notify

def callback(notification, action_name):
    notification.close()
    Gtk.main_quit()

Notify.init('test')
notification = Notify.Notification.new('Title', 'body')
notification.set_timeout(Notify.EXPIRES_NEVER)
notification.add_action('quit', 'Quit', callback)
notification.show()

Gtk.main()

但是这个有一个问题:

from gi.repository import Gtk, Notify

def callback(notification, action_name):
    notification.close()
    Gtk.main_quit()

Notify.init('test')
notification = Notify.Notification.new('Title', '<body')
notification.set_timeout(Notify.EXPIRES_NEVER)
notification.add_action('quit', 'Quit', callback)
notification.show()

Gtk.main()

我明白了:

<在标题中,或者当我使用>时没有问题。

我试图逃脱<,但它没有做任何事情。 那么,如何显示包含 < 的 body 文本?

我注意到在 Gtk 中有时会有 html 代码,比如使用 set_markup 时。我尝试使用等价的 hmtl &lt; 并且它工作正常:

from gi.repository import Gtk, Notify

def callback(notification, action_name):
    notification.close()
    Gtk.main_quit()

Notify.init('test')
notification = Notify.Notification.new('Title', '&lt;body&gt;')
notification.set_timeout(Notify.EXPIRES_NEVER)
notification.add_action('quit', 'Quit', callback)
notification.show()