diff --git a/src/atom.coffee b/src/atom.coffee index 2a3831de2..a68136d02 100644 --- a/src/atom.coffee +++ b/src/atom.coffee @@ -14,7 +14,7 @@ Model = require './model' WindowEventHandler = require './window-event-handler' StylesElement = require './styles-element' StorageFolder = require './storage-folder' -getWindowLoadSettings = require './get-window-load-settings' +{getWindowLoadSettings, setWindowLoadSettings} = require './window-load-settings-helpers' Workspace = require './workspace' PaneContainer = require './pane-container' @@ -278,8 +278,9 @@ class Atom extends Model getWindowLoadSettings() updateLoadSetting: (key, value) -> - @getLoadSettings()[key] = value - location.hash = encodeURIComponent(JSON.stringify(@loadSettings)) + loadSettings = @getLoadSettings() + loadSettings[key] = value + setWindowLoadSettings(loadSettings) ### Section: Managing The Atom Window diff --git a/src/initialize-application-window.coffee b/src/initialize-application-window.coffee index 1646c17a8..a10cc9dba 100644 --- a/src/initialize-application-window.coffee +++ b/src/initialize-application-window.coffee @@ -2,7 +2,7 @@ path = require 'path' require './window' -getWindowLoadSettings = require './get-window-load-settings' +{getWindowLoadSettings} = require './window-load-settings-helpers' {resourcePath, isSpec, devMode} = getWindowLoadSettings() diff --git a/src/get-window-load-settings.coffee b/src/window-load-settings-helpers.coffee similarity index 74% rename from src/get-window-load-settings.coffee rename to src/window-load-settings-helpers.coffee index 7f41ad05f..1ae76c442 100644 --- a/src/get-window-load-settings.coffee +++ b/src/window-load-settings-helpers.coffee @@ -3,7 +3,7 @@ _ = require 'underscore-plus' windowLoadSettings = null -module.exports = -> +exports.getWindowLoadSettings = -> windowLoadSettings ?= JSON.parse(window.decodeURIComponent(window.location.hash.substr(1))) clone = _.deepClone(windowLoadSettings) @@ -14,3 +14,7 @@ module.exports = -> remote.getCurrentWindow().loadSettings.windowState = value clone + +exports.setWindowLoadSettings = (settings) -> + windowLoadSettings = settings + location.hash = encodeURIComponent(JSON.stringify(settings))