mirror of
https://github.com/atom/atom.git
synced 2026-01-23 22:08:08 -05:00
42 lines
1.4 KiB
CoffeeScript
42 lines
1.4 KiB
CoffeeScript
# Like sands through the hourglass, so are the days of our lives.
|
|
module.exports = ({blobStore}) ->
|
|
environmentHelpers = require('./environment-helpers')
|
|
path = require 'path'
|
|
require './window'
|
|
{getWindowLoadSettings} = require './window-load-settings-helpers'
|
|
{ipcRenderer} = require 'electron'
|
|
{resourcePath, isSpec, devMode, env} = getWindowLoadSettings()
|
|
|
|
# Set baseline environment
|
|
environmentHelpers.normalize({env: env})
|
|
env = process.env
|
|
|
|
# Add application-specific exports to module search path.
|
|
exportsPath = path.join(resourcePath, 'exports')
|
|
require('module').globalPaths.push(exportsPath)
|
|
process.env.NODE_PATH = exportsPath
|
|
|
|
# Make React faster
|
|
process.env.NODE_ENV ?= 'production' unless devMode
|
|
|
|
AtomEnvironment = require './atom-environment'
|
|
ApplicationDelegate = require './application-delegate'
|
|
window.atom = new AtomEnvironment({
|
|
window, document, blobStore,
|
|
applicationDelegate: new ApplicationDelegate,
|
|
configDirPath: process.env.ATOM_HOME
|
|
enablePersistence: true
|
|
env: process.env
|
|
})
|
|
|
|
atom.startEditorWindow().then ->
|
|
|
|
# Workaround for focus getting cleared upon window creation
|
|
windowFocused = ->
|
|
window.removeEventListener('focus', windowFocused)
|
|
setTimeout (-> document.querySelector('atom-workspace').focus()), 0
|
|
window.addEventListener('focus', windowFocused)
|
|
ipcRenderer.on('environment', (event, env) ->
|
|
environmentHelpers.replace(env)
|
|
)
|