add basic notification system

This commit is contained in:
Guillermo Rauch 2016-07-07 13:48:43 -07:00
parent 0bb26b9c5b
commit 29df9b277d
2 changed files with 34 additions and 0 deletions

5
notify.html Normal file
View file

@ -0,0 +1,5 @@
<script>
require('electron').ipcRenderer.on('notification', (ev, { title, body }) => {
new Notification(title, { body });
});
</script>

29
notify.js Normal file
View file

@ -0,0 +1,29 @@
const { app, BrowserWindow } = require('electron');
const isDev = require('electron-is-dev');
const { resolve } = require('path');
let win;
// the hack of all hacks
// electron doesn't have a built in notification thing,
// so we launch a window on which we can use the
// HTML5 `Notification` API :'(
app.on('ready', () => {
const win_ = new BrowserWindow({
show: false
});
const url = 'file://' + resolve(
isDev ? __dirname : app.getAppPath(),
'notify.html'
);
win_.loadURL(url);
win = win_;
});
module.exports = function notify (title, body) {
if (win) {
win.webContents.send('notification', { title, body });
}
// TODO: buffer ?
};