Philipp Hörist pushed to branch master at gajim / gajim
Commits: 58aaa250 by lovetox at 2022-01-25T22:24:13+01:00 Notifications: Escape markup in body only if body-markup is supported
- Gnome does not support body-markup - Title should not be escaped
- - - - -
1 changed file:
- gajim/gtk/notification.py
Changes:
===================================== gajim/gtk/notification.py ===================================== @@ -247,11 +247,13 @@ class Linux(NotificationBackend): def __init__(self): NotificationBackend.__init__(self) self._dbus_available: bool = False - self._daemon_capabilities = ['actions'] + self._caps: list[str] = [] self._detect_dbus_caps() + log.info('Detected notification capabilities: %s', self._caps)
def _detect_dbus_caps(self) -> None: - if app.is_flatpak(): + if app.is_flatpak() or app.desktop_env == 'gnome': + self._caps = ['actions'] self._dbus_available = True return
@@ -259,7 +261,7 @@ def on_proxy_ready(_source: Gio.DBusProxy, res: Gio.AsyncResult) -> None: try: proxy = Gio.DBusProxy.new_finish(res) - self._daemon_capabilities = proxy.GetCapabilities() # type: ignore + self._caps = proxy.GetCapabilities() # type: ignore except GLib.Error as error: log.warning('Notifications D-Bus not available: %s', error) else: @@ -282,8 +284,13 @@ def _send(self, event: events.Notification) -> None:
notification = Gio.Notification() if event.title is not None: - notification.set_title(GLib.markup_escape_text(event.title)) - notification.set_body(GLib.markup_escape_text(event.text)) + notification.set_title(event.title) + + text = event.text + if 'body-markup' in self._caps: + text = GLib.markup_escape_text(event.text) + + notification.set_body(text) notification.set_priority(Gio.NotificationPriority.NORMAL)
icon = self._make_icon(event) @@ -302,7 +309,7 @@ def _add_actions(self, if event.type not in self._action_types: return
- if 'actions' not in self._daemon_capabilities: + if 'actions' not in self._caps: return
jid = ''
View it on GitLab: https://dev.gajim.org/gajim/gajim/-/commit/58aaa25098197c1fcdac80ec523685b4f...