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
|
||||
};
|
||||
|
||||
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() {
|
||||
this._init();
|
||||
}
|
||||
@ -150,6 +160,15 @@ NotificationDaemon.prototype = {
|
||||
|
||||
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);
|
||||
if (actions.length) {
|
||||
for (let i = 0; i < actions.length - 1; i += 2)
|
||||
|
Loading…
Reference in New Issue
Block a user