code: function _saveViewState() {
          function _computeSplitPercentage() {
              var available,
                  used;
  
              if (getPaneCount() === 1) {
                  // just short-circuit here and
                  //  return 100% to avoid any rounding issues
                  return 1;
              } else {
                  if (_orientation === VERTICAL) {
                      available = _$el.innerWidth();
                      used = _panes[FIRST_PANE].$el.width();
                  } else {
                      available = _$el.innerHeight();
                      used = _panes[FIRST_PANE].$el.height();
                  }
  
                  return used / available;
              }
          }
  
          var projectRoot     = ProjectManager.getProjectRoot(),
              context         = { location : { scope: "user",
                                           layer: "project",
                                           layerID: projectRoot.fullPath } },
  
              state = {
                  orientation: _orientation,
                  activePaneId: getActivePaneId(),
                  splitPercentage: _computeSplitPercentage(),
                  panes: {
                  }
              };
  
  
          if (!projectRoot) {
              return;
          }
  
          _.forEach(_panes, function (pane) {
              state.panes[pane.id] = pane.saveState();
          });
  
          PreferencesManager.setViewState(PREFS_NAME, state, context);
      }
docs: Saves the workingset state
  @private