Added game info bar
This commit is contained in:
63
node_modules/growl/History.md
generated
vendored
Normal file
63
node_modules/growl/History.md
generated
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
|
||||
1.7.0 / 2012-12-30
|
||||
==================
|
||||
|
||||
* support transient notifications in Gnome
|
||||
|
||||
1.6.1 / 2012-09-25
|
||||
==================
|
||||
|
||||
* restore compatibility with node < 0.8 [fgnass]
|
||||
|
||||
1.6.0 / 2012-09-06
|
||||
==================
|
||||
|
||||
* add notification center support [drudge]
|
||||
|
||||
1.5.1 / 2012-04-08
|
||||
==================
|
||||
|
||||
* Merge pull request #16 from KyleAMathews/patch-1
|
||||
* Fixes #15
|
||||
|
||||
1.5.0 / 2012-02-08
|
||||
==================
|
||||
|
||||
* Added windows support [perfusorius]
|
||||
|
||||
1.4.1 / 2011-12-28
|
||||
==================
|
||||
|
||||
* Fixed: dont exit(). Closes #9
|
||||
|
||||
1.4.0 / 2011-12-17
|
||||
==================
|
||||
|
||||
* Changed API: `growl.notify()` -> `growl()`
|
||||
|
||||
1.3.0 / 2011-12-17
|
||||
==================
|
||||
|
||||
* Added support for Ubuntu/Debian/Linux users [niftylettuce]
|
||||
* Fixed: send notifications even if title not specified [alessioalex]
|
||||
|
||||
1.2.0 / 2011-10-06
|
||||
==================
|
||||
|
||||
* Add support for priority.
|
||||
|
||||
1.1.0 / 2011-03-15
|
||||
==================
|
||||
|
||||
* Added optional callbacks
|
||||
* Added parsing of version
|
||||
|
||||
1.0.1 / 2010-03-26
|
||||
==================
|
||||
|
||||
* Fixed; sys.exec -> child_process.exec to support latest node
|
||||
|
||||
1.0.0 / 2010-03-19
|
||||
==================
|
||||
|
||||
* Initial release
|
108
node_modules/growl/Readme.md
generated
vendored
Normal file
108
node_modules/growl/Readme.md
generated
vendored
Normal file
@@ -0,0 +1,108 @@
|
||||
# Growl for nodejs
|
||||
|
||||
Growl support for Nodejs. This is essentially a port of my [Ruby Growl Library](http://github.com/visionmedia/growl). Ubuntu/Linux support added thanks to [@niftylettuce](http://github.com/niftylettuce).
|
||||
|
||||
## Installation
|
||||
|
||||
### Install
|
||||
|
||||
### Mac OS X (Darwin):
|
||||
|
||||
Install [growlnotify(1)](http://growl.info/extras.php#growlnotify). On OS X 10.8, Notification Center is supported using [terminal-notifier](https://github.com/alloy/terminal-notifier). To install:
|
||||
|
||||
$ sudo gem install terminal-notifier
|
||||
|
||||
Install [npm](http://npmjs.org/) and run:
|
||||
|
||||
$ npm install growl
|
||||
|
||||
### Ubuntu (Linux):
|
||||
|
||||
Install `notify-send` through the [libnotify-bin](http://packages.ubuntu.com/libnotify-bin) package:
|
||||
|
||||
$ sudo apt-get install libnotify-bin
|
||||
|
||||
Install [npm](http://npmjs.org/) and run:
|
||||
|
||||
$ npm install growl
|
||||
|
||||
### Windows:
|
||||
|
||||
Download and install [Growl for Windows](http://www.growlforwindows.com/gfw/default.aspx)
|
||||
|
||||
Download [growlnotify](http://www.growlforwindows.com/gfw/help/growlnotify.aspx) - **IMPORTANT :** Unpack growlnotify to a folder that is present in your path!
|
||||
|
||||
Install [npm](http://npmjs.org/) and run:
|
||||
|
||||
$ npm install growl
|
||||
|
||||
## Examples
|
||||
|
||||
Callback functions are optional
|
||||
|
||||
```javascript
|
||||
var growl = require('growl')
|
||||
growl('You have mail!')
|
||||
growl('5 new messages', { sticky: true })
|
||||
growl('5 new emails', { title: 'Email Client', image: 'Safari', sticky: true })
|
||||
growl('Message with title', { title: 'Title'})
|
||||
growl('Set priority', { priority: 2 })
|
||||
growl('Show Safari icon', { image: 'Safari' })
|
||||
growl('Show icon', { image: 'path/to/icon.icns' })
|
||||
growl('Show image', { image: 'path/to/my.image.png' })
|
||||
growl('Show png filesystem icon', { image: 'png' })
|
||||
growl('Show pdf filesystem icon', { image: 'article.pdf' })
|
||||
growl('Show pdf filesystem icon', { image: 'article.pdf' }, function(err){
|
||||
// ... notified
|
||||
})
|
||||
```
|
||||
|
||||
## Options
|
||||
|
||||
- title
|
||||
- notification title
|
||||
- name
|
||||
- application name
|
||||
- priority
|
||||
- priority for the notification (default is 0)
|
||||
- sticky
|
||||
- weither or not the notification should remainin until closed
|
||||
- image
|
||||
- Auto-detects the context:
|
||||
- path to an icon sets --iconpath
|
||||
- path to an image sets --image
|
||||
- capitalized word sets --appIcon
|
||||
- filename uses extname as --icon
|
||||
- otherwise treated as --icon
|
||||
- exec
|
||||
- manually specify a shell command instead
|
||||
- appends message to end of shell command
|
||||
- or, replaces `%s` with message
|
||||
- optionally prepends title (example: `title: message`)
|
||||
- examples: `{exec: 'tmux display-message'}`, `{exec: 'echo "%s" > messages.log}`
|
||||
|
||||
## License
|
||||
|
||||
(The MIT License)
|
||||
|
||||
Copyright (c) 2009 TJ Holowaychuk <tj@vision-media.ca>
|
||||
Copyright (c) 2016 Joshua Boy Nicolai Appelman <joshua@jbna.nl>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
'Software'), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
290
node_modules/growl/lib/growl.js
generated
vendored
Normal file
290
node_modules/growl/lib/growl.js
generated
vendored
Normal file
@@ -0,0 +1,290 @@
|
||||
// Growl - Copyright TJ Holowaychuk <tj@vision-media.ca> (MIT Licensed)
|
||||
|
||||
/**
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
var exec = require('child_process').exec
|
||||
, fs = require('fs')
|
||||
, path = require('path')
|
||||
, exists = fs.existsSync || path.existsSync
|
||||
, os = require('os')
|
||||
, quote = JSON.stringify
|
||||
, cmd;
|
||||
|
||||
function which(name) {
|
||||
var paths = process.env.PATH.split(':');
|
||||
var loc;
|
||||
|
||||
for (var i = 0, len = paths.length; i < len; ++i) {
|
||||
loc = path.join(paths[i], name);
|
||||
if (exists(loc)) return loc;
|
||||
}
|
||||
}
|
||||
|
||||
switch(os.type()) {
|
||||
case 'Darwin':
|
||||
if (which('terminal-notifier')) {
|
||||
cmd = {
|
||||
type: "Darwin-NotificationCenter"
|
||||
, pkg: "terminal-notifier"
|
||||
, msg: '-message'
|
||||
, title: '-title'
|
||||
, subtitle: '-subtitle'
|
||||
, icon: '-appIcon'
|
||||
, sound: '-sound'
|
||||
, url: '-open'
|
||||
, priority: {
|
||||
cmd: '-execute'
|
||||
, range: []
|
||||
}
|
||||
};
|
||||
} else {
|
||||
cmd = {
|
||||
type: "Darwin-Growl"
|
||||
, pkg: "growlnotify"
|
||||
, msg: '-m'
|
||||
, sticky: '--sticky'
|
||||
, priority: {
|
||||
cmd: '--priority'
|
||||
, range: [
|
||||
-2
|
||||
, -1
|
||||
, 0
|
||||
, 1
|
||||
, 2
|
||||
, "Very Low"
|
||||
, "Moderate"
|
||||
, "Normal"
|
||||
, "High"
|
||||
, "Emergency"
|
||||
]
|
||||
}
|
||||
};
|
||||
}
|
||||
break;
|
||||
case 'Linux':
|
||||
if (which('growl')) {
|
||||
cmd = {
|
||||
type: "Linux-Growl"
|
||||
, pkg: "growl"
|
||||
, msg: '-m'
|
||||
, title: '-title'
|
||||
, subtitle: '-subtitle'
|
||||
, host: {
|
||||
cmd: '-H'
|
||||
, hostname: '192.168.33.1'
|
||||
}
|
||||
};
|
||||
} else {
|
||||
cmd = {
|
||||
type: "Linux"
|
||||
, pkg: "notify-send"
|
||||
, msg: ''
|
||||
, sticky: '-t 0'
|
||||
, icon: '-i'
|
||||
, priority: {
|
||||
cmd: '-u'
|
||||
, range: [
|
||||
"low"
|
||||
, "normal"
|
||||
, "critical"
|
||||
]
|
||||
}
|
||||
};
|
||||
}
|
||||
break;
|
||||
case 'Windows_NT':
|
||||
cmd = {
|
||||
type: "Windows"
|
||||
, pkg: "growlnotify"
|
||||
, msg: ''
|
||||
, sticky: '/s:true'
|
||||
, title: '/t:'
|
||||
, icon: '/i:'
|
||||
, url: '/cu:'
|
||||
, priority: {
|
||||
cmd: '/p:'
|
||||
, range: [
|
||||
-2
|
||||
, -1
|
||||
, 0
|
||||
, 1
|
||||
, 2
|
||||
]
|
||||
}
|
||||
};
|
||||
break;
|
||||
}
|
||||
|
||||
/**
|
||||
* Expose `growl`.
|
||||
*/
|
||||
|
||||
exports = module.exports = growl;
|
||||
|
||||
/**
|
||||
* Node-growl version.
|
||||
*/
|
||||
|
||||
exports.version = '1.4.1'
|
||||
|
||||
/**
|
||||
* Send growl notification _msg_ with _options_.
|
||||
*
|
||||
* Options:
|
||||
*
|
||||
* - title Notification title
|
||||
* - sticky Make the notification stick (defaults to false)
|
||||
* - priority Specify an int or named key (default is 0)
|
||||
* - name Application name (defaults to growlnotify)
|
||||
* - sound Sound efect ( in OSx defined in preferences -> sound -> effects) * works only in OSX > 10.8x
|
||||
* - image
|
||||
* - path to an icon sets --iconpath
|
||||
* - path to an image sets --image
|
||||
* - capitalized word sets --appIcon
|
||||
* - filename uses extname as --icon
|
||||
* - otherwise treated as --icon
|
||||
*
|
||||
* Examples:
|
||||
*
|
||||
* growl('New email')
|
||||
* growl('5 new emails', { title: 'Thunderbird' })
|
||||
* growl('5 new emails', { title: 'Thunderbird', sound: 'Purr' })
|
||||
* growl('Email sent', function(){
|
||||
* // ... notification sent
|
||||
* })
|
||||
*
|
||||
* @param {string} msg
|
||||
* @param {object} options
|
||||
* @param {function} fn
|
||||
* @api public
|
||||
*/
|
||||
|
||||
function growl(msg, options, fn) {
|
||||
var image
|
||||
, args
|
||||
, options = options || {}
|
||||
, fn = fn || function(){};
|
||||
|
||||
if (options.exec) {
|
||||
cmd = {
|
||||
type: "Custom"
|
||||
, pkg: options.exec
|
||||
, range: []
|
||||
};
|
||||
}
|
||||
|
||||
// noop
|
||||
if (!cmd) return fn(new Error('growl not supported on this platform'));
|
||||
args = [cmd.pkg];
|
||||
|
||||
// image
|
||||
if (image = options.image) {
|
||||
switch(cmd.type) {
|
||||
case 'Darwin-Growl':
|
||||
var flag, ext = path.extname(image).substr(1)
|
||||
flag = flag || ext == 'icns' && 'iconpath'
|
||||
flag = flag || /^[A-Z]/.test(image) && 'appIcon'
|
||||
flag = flag || /^png|gif|jpe?g$/.test(ext) && 'image'
|
||||
flag = flag || ext && (image = ext) && 'icon'
|
||||
flag = flag || 'icon'
|
||||
args.push('--' + flag, quote(image))
|
||||
break;
|
||||
case 'Darwin-NotificationCenter':
|
||||
args.push(cmd.icon, quote(image));
|
||||
break;
|
||||
case 'Linux':
|
||||
args.push(cmd.icon, quote(image));
|
||||
// libnotify defaults to sticky, set a hint for transient notifications
|
||||
if (!options.sticky) args.push('--hint=int:transient:1');
|
||||
break;
|
||||
case 'Windows':
|
||||
args.push(cmd.icon + quote(image));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// sticky
|
||||
if (options.sticky) args.push(cmd.sticky);
|
||||
|
||||
// priority
|
||||
if (options.priority) {
|
||||
var priority = options.priority + '';
|
||||
var checkindexOf = cmd.priority.range.indexOf(priority);
|
||||
if (~cmd.priority.range.indexOf(priority)) {
|
||||
args.push(cmd.priority, options.priority);
|
||||
}
|
||||
}
|
||||
|
||||
//sound
|
||||
if(options.sound && cmd.type === 'Darwin-NotificationCenter'){
|
||||
args.push(cmd.sound, options.sound)
|
||||
}
|
||||
|
||||
// name
|
||||
if (options.name && cmd.type === "Darwin-Growl") {
|
||||
args.push('--name', options.name);
|
||||
}
|
||||
|
||||
switch(cmd.type) {
|
||||
case 'Darwin-Growl':
|
||||
args.push(cmd.msg);
|
||||
args.push(quote(msg).replace(/\\n/g, '\n'));
|
||||
if (options.title) args.push(quote(options.title));
|
||||
break;
|
||||
case 'Darwin-NotificationCenter':
|
||||
args.push(cmd.msg);
|
||||
var stringifiedMsg = quote(msg);
|
||||
var escapedMsg = stringifiedMsg.replace(/\\n/g, '\n');
|
||||
args.push(escapedMsg);
|
||||
if (options.title) {
|
||||
args.push(cmd.title);
|
||||
args.push(quote(options.title));
|
||||
}
|
||||
if (options.subtitle) {
|
||||
args.push(cmd.subtitle);
|
||||
args.push(quote(options.subtitle));
|
||||
}
|
||||
if (options.url) {
|
||||
args.push(cmd.url);
|
||||
args.push(quote(options.url));
|
||||
}
|
||||
break;
|
||||
case 'Linux-Growl':
|
||||
args.push(cmd.msg);
|
||||
args.push(quote(msg).replace(/\\n/g, '\n'));
|
||||
if (options.title) args.push(quote(options.title));
|
||||
if (cmd.host) {
|
||||
args.push(cmd.host.cmd, cmd.host.hostname)
|
||||
}
|
||||
break;
|
||||
case 'Linux':
|
||||
if (options.title) {
|
||||
args.push(quote(options.title));
|
||||
args.push(cmd.msg);
|
||||
args.push(quote(msg).replace(/\\n/g, '\n'));
|
||||
} else {
|
||||
args.push(quote(msg).replace(/\\n/g, '\n'));
|
||||
}
|
||||
break;
|
||||
case 'Windows':
|
||||
args.push(quote(msg).replace(/\\n/g, '\n'));
|
||||
if (options.title) args.push(cmd.title + quote(options.title));
|
||||
if (options.url) args.push(cmd.url + quote(options.url));
|
||||
break;
|
||||
case 'Custom':
|
||||
args[0] = (function(origCommand) {
|
||||
var message = options.title
|
||||
? options.title + ': ' + msg
|
||||
: msg;
|
||||
var command = origCommand.replace(/(^|[^%])%s/g, '$1' + quote(message));
|
||||
if (command === origCommand) args.push(quote(message));
|
||||
return command;
|
||||
})(args[0]);
|
||||
break;
|
||||
}
|
||||
|
||||
// execute
|
||||
exec(args.join(' '), fn);
|
||||
};
|
50
node_modules/growl/package.json
generated
vendored
Normal file
50
node_modules/growl/package.json
generated
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"_from": "growl@1.9.2",
|
||||
"_id": "growl@1.9.2",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=",
|
||||
"_location": "/growl",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "growl@1.9.2",
|
||||
"name": "growl",
|
||||
"escapedName": "growl",
|
||||
"rawSpec": "1.9.2",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.9.2"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/mocha"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz",
|
||||
"_shasum": "0ea7743715db8d8de2c5ede1775e1b45ac85c02f",
|
||||
"_spec": "growl@1.9.2",
|
||||
"_where": "/home/clemens/Dokumente/git/pixelnode/node_modules/mocha",
|
||||
"author": {
|
||||
"name": "TJ Holowaychuk",
|
||||
"email": "tj@vision-media.ca"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/tj/node-growl/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"deprecated": false,
|
||||
"description": "Growl unobtrusive notifications",
|
||||
"homepage": "https://github.com/tj/node-growl#readme",
|
||||
"license": "MIT",
|
||||
"main": "./lib/growl.js",
|
||||
"maintainers": [
|
||||
{
|
||||
"name": "Joshua Boy Nicolai Appelman",
|
||||
"email": "joshua@jbnicolai.nl"
|
||||
}
|
||||
],
|
||||
"name": "growl",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/tj/node-growl.git"
|
||||
},
|
||||
"version": "1.9.2"
|
||||
}
|
31
node_modules/growl/test.js
generated
vendored
Normal file
31
node_modules/growl/test.js
generated
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
|
||||
var growl = require('./lib/growl')
|
||||
|
||||
growl('Support sound notifications', {title: 'Make a sound', sound: 'purr'});
|
||||
growl('You have mail!')
|
||||
growl('5 new messages', { sticky: true })
|
||||
growl('5 new emails', { title: 'Email Client', image: 'Safari', sticky: true })
|
||||
growl('Message with title', { title: 'Title'})
|
||||
growl('Set priority', { priority: 2 })
|
||||
growl('Show Safari icon', { image: 'Safari' })
|
||||
growl('Show icon', { image: 'path/to/icon.icns' })
|
||||
growl('Show image', { image: 'path/to/my.image.png' })
|
||||
growl('Show png filesystem icon', { image: 'png' })
|
||||
growl('Show pdf filesystem icon', { image: 'article.pdf' })
|
||||
growl('Show pdf filesystem icon', { image: 'article.pdf' }, function(){
|
||||
console.log('callback');
|
||||
})
|
||||
growl('Show pdf filesystem icon', { title: 'Use show()', image: 'article.pdf' })
|
||||
growl('here \' are \n some \\ characters that " need escaping', {}, function(error, stdout, stderr) {
|
||||
if (error !== null) throw new Error('escaping failed:\n' + stdout + stderr);
|
||||
})
|
||||
growl('Allow custom notifiers', { exec: 'echo XXX %s' }, function(error, stdout, stderr) {
|
||||
console.log(stdout);
|
||||
})
|
||||
growl('Allow custom notifiers', { title: 'test', exec: 'echo YYY' }, function(error, stdout, stderr) {
|
||||
console.log(stdout);
|
||||
})
|
||||
growl('Allow custom notifiers', { title: 'test', exec: 'echo ZZZ %s' }, function(error, stdout, stderr) {
|
||||
console.log(stdout);
|
||||
})
|
||||
growl('Open a URL', { url: 'https://npmjs.org/package/growl' });
|
Reference in New Issue
Block a user