electron/atom/browser/default_app/default_app.js

192 lines
4.4 KiB
JavaScript
Raw Normal View History

var app = require('app');
var Menu = require('menu');
var MenuItem = require('menu-item');
var BrowserWindow = require('browser-window');
var mainWindow = null;
var menu = null;
// Quit when all windows are closed.
app.on('window-all-closed', function() {
app.quit();
});
app.on('ready', function() {
2014-05-15 07:29:53 +00:00
mainWindow = new BrowserWindow({
width: 800,
height: 600,
2014-05-22 01:09:32 +00:00
resizable: false,
2014-10-17 08:43:37 +00:00
'auto-hide-menu-bar': true,
2014-05-15 07:29:53 +00:00
'use-content-size': true,
});
mainWindow.loadUrl('file://' + __dirname + '/index.html');
mainWindow.focus();
if (process.platform == 'darwin') {
var template = [
{
label: 'Atom Shell',
submenu: [
{
label: 'About Atom Shell',
selector: 'orderFrontStandardAboutPanel:'
},
{
type: 'separator'
},
{
label: 'Services',
submenu: []
},
{
type: 'separator'
},
{
label: 'Hide Atom Shell',
accelerator: 'Command+H',
selector: 'hide:'
},
{
label: 'Hide Others',
accelerator: 'Command+Shift+H',
selector: 'hideOtherApplications:'
},
{
label: 'Show All',
selector: 'unhideAllApplications:'
},
{
type: 'separator'
},
{
label: 'Quit',
accelerator: 'Command+Q',
click: function() { app.quit(); }
},
]
},
{
label: 'Edit',
submenu: [
{
label: 'Undo',
accelerator: 'Command+Z',
selector: 'undo:'
},
{
label: 'Redo',
accelerator: 'Shift+Command+Z',
selector: 'redo:'
},
{
type: 'separator'
},
{
label: 'Cut',
accelerator: 'Command+X',
selector: 'cut:'
},
{
label: 'Copy',
accelerator: 'Command+C',
selector: 'copy:'
},
{
label: 'Paste',
accelerator: 'Command+V',
selector: 'paste:'
},
{
label: 'Select All',
accelerator: 'Command+A',
selector: 'selectAll:'
},
]
},
{
label: 'View',
submenu: [
{
label: 'Reload',
accelerator: 'Command+R',
click: function() { mainWindow.restart(); }
},
{
label: 'Enter Fullscreen',
2014-06-21 15:34:31 +00:00
click: function() { mainWindow.setFullScreen(true); }
},
{
label: 'Toggle DevTools',
accelerator: 'Alt+Command+I',
click: function() { mainWindow.toggleDevTools(); }
},
]
},
{
label: 'Window',
submenu: [
{
label: 'Minimize',
accelerator: 'Command+M',
selector: 'performMiniaturize:'
},
{
label: 'Close',
accelerator: 'Command+W',
selector: 'performClose:'
},
{
type: 'separator'
},
{
label: 'Bring All to Front',
selector: 'arrangeInFront:'
},
]
},
];
menu = Menu.buildFromTemplate(template);
2013-08-06 13:08:30 +00:00
Menu.setApplicationMenu(menu);
} else {
var template = [
{
2014-10-17 08:43:37 +00:00
label: '&File',
submenu: [
{
label: '&Open',
2014-03-14 13:45:53 +00:00
accelerator: 'Ctrl+O',
},
{
label: '&Close',
2014-03-14 13:45:53 +00:00
accelerator: 'Ctrl+W',
click: function() { mainWindow.close(); }
},
]
},
{
2014-10-17 08:43:37 +00:00
label: '&View',
submenu: [
{
label: '&Reload',
2014-03-14 13:45:53 +00:00
accelerator: 'Ctrl+R',
click: function() { mainWindow.restart(); }
},
{
label: '&Enter Fullscreen',
2014-03-14 13:45:53 +00:00
click: function() { mainWindow.setFullScreen(true); }
},
{
label: '&Toggle DevTools',
2014-03-14 13:45:53 +00:00
accelerator: 'Alt+Ctrl+I',
click: function() { mainWindow.toggleDevTools(); }
},
]
},
];
menu = Menu.buildFromTemplate(template);
2013-10-02 13:24:21 +00:00
mainWindow.setMenu(menu);
}
});