Show a friendly guide when atom-shell is opened without app.
This commit is contained in:
parent
3c0ec73d75
commit
a132d2e5a0
4 changed files with 34 additions and 40 deletions
|
@ -1,6 +1,4 @@
|
|||
var app = require('app');
|
||||
var dialog = require('dialog');
|
||||
var ipc = require('ipc');
|
||||
var Menu = require('menu');
|
||||
var MenuItem = require('menu-item');
|
||||
var BrowserWindow = require('browser-window');
|
||||
|
@ -13,30 +11,12 @@ app.on('window-all-closed', function() {
|
|||
app.quit();
|
||||
});
|
||||
|
||||
app.on('open-url', function(event, url) {
|
||||
dialog.showMessageBox({message: url, buttons: ['OK']});
|
||||
});
|
||||
|
||||
app.on('ready', function() {
|
||||
app.commandLine.appendSwitch('js-flags', '--harmony_collections');
|
||||
|
||||
mainWindow = new BrowserWindow({ width: 800, height: 600 });
|
||||
mainWindow.loadUrl('file://' + __dirname + '/index.html');
|
||||
|
||||
mainWindow.on('page-title-updated', function(event, title) {
|
||||
event.preventDefault();
|
||||
|
||||
this.setTitle('Atom Shell - ' + title);
|
||||
});
|
||||
|
||||
mainWindow.on('closed', function() {
|
||||
mainWindow = null;
|
||||
});
|
||||
|
||||
mainWindow.on('unresponsive', function() {
|
||||
console.log('unresponsive');
|
||||
});
|
||||
|
||||
if (process.platform == 'darwin') {
|
||||
var template = [
|
||||
{
|
||||
|
@ -117,16 +97,16 @@ app.on('ready', function() {
|
|||
{
|
||||
label: 'Reload',
|
||||
accelerator: 'Command+R',
|
||||
click: function() { BrowserWindow.getFocusedWindow().restart(); }
|
||||
click: function() { mainWindow.restart(); }
|
||||
},
|
||||
{
|
||||
label: 'Enter Fullscreen',
|
||||
click: function() { BrowserWindow.getFocusedWindow().setFullscreen(true); }
|
||||
click: function() { mainWindow.setFullscreen(true); }
|
||||
},
|
||||
{
|
||||
label: 'Toggle DevTools',
|
||||
accelerator: 'Alt+Command+I',
|
||||
click: function() { BrowserWindow.getFocusedWindow().toggleDevTools(); }
|
||||
click: function() { mainWindow.toggleDevTools(); }
|
||||
},
|
||||
]
|
||||
},
|
||||
|
@ -196,9 +176,4 @@ app.on('ready', function() {
|
|||
menu = Menu.buildFromTemplate(template);
|
||||
mainWindow.setMenu(menu);
|
||||
}
|
||||
|
||||
ipc.on('message', function(processId, routingId, type) {
|
||||
if (type == 'menu')
|
||||
menu.popup(mainWindow);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,18 +1,36 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<title>Atom Shell</title>
|
||||
<style></style>
|
||||
</head>
|
||||
<body>
|
||||
This is the default mode of Atom Shell, please follow the instructions in
|
||||
wiki to get started.
|
||||
<script type="text/javascript" charset="utf-8">
|
||||
var ipc = require('ipc');
|
||||
<script>
|
||||
var execPath = require('remote').process.execPath;
|
||||
var command = execPath + ' path-to-your-app';
|
||||
|
||||
window.addEventListener('contextmenu', function (e) {
|
||||
e.preventDefault();
|
||||
ipc.send('menu');
|
||||
}, false);
|
||||
var openWiki = function() {
|
||||
require('shell').openExternal('https://github.com/atom/atom-shell/blob/master/docs/tutorial/quick-start.md');
|
||||
}
|
||||
</script>
|
||||
|
||||
<h1>Welcome to Atom Shell!</h1>
|
||||
|
||||
<p>
|
||||
Atom Shell is a cross-platform desktop application shell that enables you to
|
||||
build native like applications with node.js and web page engine of Chromium.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
To run your app with atom-shell, execute the following command under your
|
||||
Console (or Terminal):
|
||||
</p>
|
||||
|
||||
<script>document.write('<pre>' + command + '</pre>')</script>
|
||||
|
||||
<p>
|
||||
The <code>path-to-your-app</code> should be the path to your own atom-shell
|
||||
app, you can read the <a href="javascript:openWiki()">Quick Start</a> guide
|
||||
in atom-shell's docs on how to write one.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
"name": "atom-shell-default-app",
|
||||
"productName": "Atom Shell Default App",
|
||||
"version": "0.1.0",
|
||||
"main": "main.js",
|
||||
"dependencies": {
|
||||
|
|
|
@ -15,11 +15,11 @@ describe 'app module', ->
|
|||
|
||||
describe 'app.getName()', ->
|
||||
it 'returns the name field of package.json', ->
|
||||
assert.equal app.getName(), 'atom-shell-default-app'
|
||||
assert.equal app.getName(), 'Atom Shell Default App'
|
||||
|
||||
describe 'app.setName(name)', ->
|
||||
it 'overrides the name', ->
|
||||
assert.equal app.getName(), 'atom-shell-default-app'
|
||||
assert.equal app.getName(), 'Atom Shell Default App'
|
||||
app.setName 'test-name'
|
||||
assert.equal app.getName(), 'test-name'
|
||||
app.setName 'atom-shell-default-app'
|
||||
app.setName 'Atom Shell Default App'
|
||||
|
|
Loading…
Reference in a new issue