Open dialog creates new atom window

This commit is contained in:
probablycorey
2013-05-16 16:38:47 -07:00
parent f713429674
commit 8f17889f7f
2 changed files with 18 additions and 4 deletions

View File

@@ -138,11 +138,14 @@ window.atom =
themeNames = config.get("core.themes") ? ['atom-dark-ui', 'atom-dark-syntax']
themeNames = [themeNames] unless _.isArray(themeNames)
open: (args...) ->
@sendMessageToBrowserProcess('open', args)
open: (url) ->
if url
throw new Error('opening a url does not currently work', url)
else
ipc.sendChannel('open-folder')
openDev: (args...) ->
@sendMessageToBrowserProcess('openDev', args)
openDev: (url) ->
console.error("atom.openDev does not work yet")
newWindow: (args...) ->
@sendMessageToBrowserProcess('newWindow', args)

View File

@@ -3,6 +3,7 @@ delegate = require 'atom_delegate'
path = require 'path'
BrowserWindow = require 'browser_window'
ipc = require 'ipc'
dialog = require 'dialog'
windowState = {}
@@ -11,9 +12,19 @@ app.on 'window-all-closed', ->
app.quit()
ipc.on 'window-state', (event, processId, messageId, message) ->
console.log 'browser got request', event, processId, messageId, message if message?
windowState = message unless message == undefined
event.result = windowState
ipc.on 'open-folder', ->
currentWindow = BrowserWindow.getFocusedWindow()
dialog.openFolder currentWindow, {}, (result, paths...) ->
modifiedArgv = ['node'].concat(process.argv) # optimist assumes the first arg will be node
args = require('optimist')(modifiedArgv).argv
new AtomWindow
bootstrapScript: 'window-bootstrap',
resourcePath: args['resource-path']
class AtomWindow
@windows = []