mirror of https://github.com/docker/docs.git
97 lines
2.5 KiB
JavaScript
97 lines
2.5 KiB
JavaScript
var child_process = require('child_process');
|
|
var net = require('net');
|
|
var os = require('os');
|
|
var fs = require('fs');
|
|
var path = require('path');
|
|
var exec = require('exec');
|
|
|
|
var autoUpdater = require('auto-updater');
|
|
var app = require('app');
|
|
var BrowserWindow = require('browser-window');
|
|
var ipc = require('ipc');
|
|
|
|
process.env.NODE_PATH = __dirname + '/../node_modules';
|
|
process.chdir(path.join(__dirname, '..'));
|
|
|
|
app.on('activate-with-no-open-windows', function () {
|
|
if (mainWindow) {
|
|
mainWindow.show();
|
|
}
|
|
return false;
|
|
});
|
|
|
|
app.on('ready', function() {
|
|
var windowOptions = {
|
|
width: 1000,
|
|
height: 700,
|
|
'min-width': 1000,
|
|
'min-height': 700,
|
|
resizable: true,
|
|
frame: false
|
|
};
|
|
|
|
mainWindow = new BrowserWindow(windowOptions);
|
|
mainWindow.hide();
|
|
mainWindow.loadUrl('file://' + __dirname + '/../build/index.html');
|
|
|
|
process.on('uncaughtException', app.quit);
|
|
|
|
var saveVMOnQuit = false;
|
|
app.on('will-quit', function (e) {
|
|
if (saveVMOnQuit) {
|
|
exec('VBoxManage controlvm boot2docker-vm savestate', function (stderr, stdout, code) {});
|
|
}
|
|
});
|
|
|
|
mainWindow.webContents.on('new-window', function (e) {
|
|
e.preventDefault();
|
|
});
|
|
|
|
mainWindow.webContents.on('did-finish-load', function() {
|
|
mainWindow.show();
|
|
mainWindow.focus();
|
|
|
|
mainWindow.setTitle('');
|
|
|
|
// Auto Updates
|
|
autoUpdater.setFeedUrl('https://updates.kitematic.com/releases/latest?version=' + app.getVersion());
|
|
|
|
autoUpdater.on('checking-for-update', function (e) {
|
|
console.log('Checking for update...');
|
|
});
|
|
|
|
autoUpdater.on('update-available', function (e) {
|
|
console.log('Update available.');
|
|
console.log(e);
|
|
});
|
|
|
|
autoUpdater.on('update-not-available', function (e) {
|
|
console.log('Update not available.');
|
|
});
|
|
|
|
autoUpdater.on('update-downloaded', function (e, releaseNotes, releaseName, releaseDate, updateURL) {
|
|
console.log('Update downloaded.');
|
|
mainWindow.webContents.send('notify', 'window:update-available');
|
|
});
|
|
|
|
autoUpdater.on('error', function (e) {
|
|
console.log('An error occured while checking for updates.');
|
|
console.log(e);
|
|
});
|
|
|
|
ipc.on('command', function (event, arg) {
|
|
console.log('Command: ' + arg);
|
|
if (arg === 'application:quit-install') {
|
|
saveVMOnQuit = false;
|
|
autoUpdater.quitAndInstall();
|
|
}
|
|
});
|
|
|
|
ipc.on('vm', function (event, arg) {
|
|
saveVMOnQuit = arg;
|
|
});
|
|
|
|
autoUpdater.checkForUpdates();
|
|
});
|
|
});
|