diff --git a/src/pane-container.coffee b/src/pane-container.coffee index 535e55607..07083263a 100644 --- a/src/pane-container.coffee +++ b/src/pane-container.coffee @@ -8,6 +8,8 @@ class PaneContainer extends Model atom.deserializers.add(this) Serializable.includeInto(this) + @version: 1 + @properties root: -> new Pane activePane: null @@ -27,10 +29,12 @@ class PaneContainer extends Model deserializeParams: (params) -> params.root = atom.deserializers.deserialize(params.root, container: this) params.destroyEmptyPanes = atom.config.get('core.destroyEmptyPanes') + params.activePane = params.root.getPanes().find (pane) -> pane.id is params.activePaneId params serializeParams: (params) -> root: @root?.serialize() + activePaneId: @activePane.id replaceChild: (oldChild, newChild) -> throw new Error("Replacing non-existent child") if oldChild isnt @root diff --git a/src/pane.coffee b/src/pane.coffee index f09bcc90f..84947bbb7 100644 --- a/src/pane.coffee +++ b/src/pane.coffee @@ -40,14 +40,12 @@ class Pane extends Model @subscribe @items.onRemoval (item, index) => @unsubscribe item if typeof item.on is 'function' - @activate() if params?.active - # Called by the Serializable mixin during serialization. serializeParams: -> + id: @id items: compact(@items.map((item) -> item.serialize?())) activeItemUri: @activeItem?.getUri?() focused: @focused - active: @active # Called by the Serializable mixin during deserialization. deserializeParams: (params) ->