NotificationDaemon: add rewriteRules infrastructure, use it for xchat
Changes notifications like: XChat: Private message from: danw (GimpNet) blah... to danw: blah blah blah blah (the "XChat" being unnecessary since there's already an xchat icon there anyway.) https://bugzilla.gnome.org/show_bug.cgi?id=608915
This commit is contained in:
parent
e5ba414f2d
commit
d8800c095a
@ -69,6 +69,16 @@ const Urgency = {
|
|||||||
CRITICAL: 2
|
CRITICAL: 2
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const rewriteRules = {
|
||||||
|
'XChat': [
|
||||||
|
{ pattern: /^XChat: Private message from: (\S*) \(.*\)$/,
|
||||||
|
replacement: '<$1>' },
|
||||||
|
{ pattern: /^XChat: New public message from: (\S*) \((.*)\)$/,
|
||||||
|
replacement: '$2 <$1>' },
|
||||||
|
{ pattern: /^XChat: Highlighted message from: (\S*) \((.*)\)$/,
|
||||||
|
replacement: '$2 <$1>' }
|
||||||
|
]
|
||||||
|
};
|
||||||
function NotificationDaemon() {
|
function NotificationDaemon() {
|
||||||
this._init();
|
this._init();
|
||||||
}
|
}
|
||||||
@ -150,6 +160,15 @@ NotificationDaemon.prototype = {
|
|||||||
|
|
||||||
summary = GLib.markup_escape_text(summary, -1);
|
summary = GLib.markup_escape_text(summary, -1);
|
||||||
|
|
||||||
|
let rewrites = rewriteRules[appName];
|
||||||
|
if (rewrites) {
|
||||||
|
for (let i = 0; i < rewrites.length; i++) {
|
||||||
|
let rule = rewrites[i];
|
||||||
|
if (summary.search(rule.pattern) != -1)
|
||||||
|
summary = summary.replace(rule.pattern, rule.replacement);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let notification = new MessageTray.Notification(source, summary, body, true);
|
let notification = new MessageTray.Notification(source, summary, body, true);
|
||||||
if (actions.length) {
|
if (actions.length) {
|
||||||
for (let i = 0; i < actions.length - 1; i += 2)
|
for (let i = 0; i < actions.length - 1; i += 2)
|
||||||
|
Loading…
Reference in New Issue
Block a user