node-notifier
A node module for sending notification using node. Uses terminal-notifier on mac,
notify-send for Linux, toaster for Windows 8, balloons for Windows pre 8 or Growl for others.
Requirements
- Mac OS X >= 10.8.
- Linux with the notify-osd/notify-send module
- Windows. Using "toasters" for Win8, Balloons for pre Win8.
- Or if no of the above requirements are met, Growl is used.
If using Linux, notify-osd
must be installed on your system.
For Mac, terminal-notifier, comes
bundled in the module. So on Mac, not additional installations is necessary.
This also goes for native Windows (version >=8) as well, where
toaster.exe is bundled. Note, for native
Windows notifications a toast must have a shortcut installed
(though not necessarily pinned) to the Start screen or in the Apps view, but
this happens automatically.
If no of the other requirements are met, node-notifier will use Growl.
You have to have Growl installed on your system. See
Growl for Windows or
Growl for Mac.
Install
$ npm install node-notifier
Standard Usage
var Notification = require('node-notifier');
var notifier = new Notification();
notifier.notify({
title: 'My awesome title',
message: 'Hello from node, Mr. User!'
});
Notification
also has specifications for all types of notifications, to be used
manually.
Example:
var nn = require('node-notifier');
new nn.NotificationCenter().notify();
new nn.NotifySend().notify();
new nn.WindowsToaster().notify(options);
new nn.WindowsBalloon().notify(options);
new nn.Growl().notify(options);
Mapping between notifiers
Common options between the modules (i.e. icon
) is mapped. This means,
if you are using a Mac and someone on your project is using Linux, you
can both see icons.
Usage NotificationCenter
Same usage and parameter setup as terminal-notifier.
Native Notification Center requires Mac OS X version 10.8 or higher. If you have
earlier versions, Growl will be the fallback. If Growl isn't installed, an error
will be thrown.
Note: Output parsing from Notification Center is deprecated as of 3.0.0
.
Parsing of output given by terminal-notifier is removed as of node-notifier 3.0.0
.
You can still use both remove
and list
but the output given will not be parsed into a object.
See removed documentation for pre version 3.0.0
in Deprecated documentation
Example
Where terminal-notifier say to use the -message
option, you can do this in node-notifier
var Notification = require('node-notifier');
var notifier = new Notification();
notifier.notify({
message: 'Hello World'
});
You can specify the second argument as a callback for getting error
and response
.
var Notification = require('node-notifier');
var notifier = new Notification({
});
notifier.notify({
title: 'My application',
message: 'New notification'
}, function(error, response) {
console.log(response);
});
As of version 3.0.0
, you can also specify image used as icon or content image. For Mac OS notifications, requires 10.9.
notifier.notify({
"title": "Phil Coulson",
"subtitle": "Agent of S.H.I.E.L.D.",
"message": "If I come out, will you shoot me? 'Cause then I won't come out.",
"sound": "Funk",
"contentImage": __dirname + "/coulson.jpg",
"appIcon": __dirname + "/coulson.jpg",
"open": "file://" + __dirname + "/coulson.jpg"
});
See terminal-notifier for more options.
Usage NotifySend
var Notification = require('node-notifier');
var notifier = new Notification({
});
notifier.notify({
title: 'Foo',
message: 'Hello World',
icon: __dirname + "/coulson.jpg",
});
See flags and options on the man pages
Usage Native Windows 8
var Notification = require('node-notifier');
var notifier = new Notification({
});
notifier.notify({
title: 'Foo',
message: 'Hello World',
icon: __dirname + "/coulson.jpg"
});
Usage Native Windows Version 7 and below
For earlier Windows versions, the taskbar balloons are used.
For balloons a great project called
notifu is used.
var Notification = require('node-notifier');
var notifier = new Notification({
});
notifier.notify({
title: 'Foo',
message: 'Hello World',
icon: __dirname + "/coulson.jpg"
});
See full usage on the project homepage:
notifu.
Usage Growl
var Notification = require('node-notifier');
var notifier = new Notification({
name: 'Growl Name Used'
});
notifier.notify({
title: 'Foo',
message: 'Hello World',
icon: fs.readFileSync(__dirname + "/coulson.jpg")
});
See more information for constructor options in
growler.
License
MIT License