notifier: Escape ampersands in notification body

The One True notification daemon will not display notification body text
if it includes an ampersand. To prevent this, ampersands must be
XML-escaped.
master
Dustin 2014-09-02 13:16:56 -05:00
parent 50cb3090dc
commit 94b12315f1
1 changed files with 6 additions and 2 deletions

View File

@ -73,18 +73,22 @@ namespace MpdNotify {
private void send_notification(string summary, string? body = null,
string? icon = null, int timeout = 2000) {
string thebody = null;
if (body != null) {
thebody = body.replace("&", "&");
}
if (notif == null) {
if (Notify.is_initted()) {
Notify.uninit();
}
Notify.init("mpdnotify");
notif = new Notify.Notification(summary, body, icon);
notif = new Notify.Notification(summary, thebody, icon);
notif.set_timeout(timeout);
notif.closed.connect(() => {
notif = null;
});
} else {
notif.update(summary, body, icon);
notif.update(summary, thebody, icon);
}
try {
notif.show();