private void saveConfigFile() {
    BinDiffConfig config = BinDiffConfig.getInstance();
    GeneralSettingsConfigItem settings = config.getMainSettings();

    Point location = window.getLocation();
    settings.setWindowXPos((int) location.getX());
    settings.setWindowYPos((int) location.getY());
    settings.setWindowWidth(window.getWidth());
    settings.setWindowHeight(window.getHeight());
    settings.setWindowStateWasMaximized(window.getExtendedState() == Frame.MAXIMIZED_BOTH);
    settings.setWorkspaceTreeDividerPosition(
        tabPanelManager.getWorkspaceTabPanel().getDividerLocation());
    settings.setScreenWidth(Toolkit.getDefaultToolkit().getScreenSize().width);
    settings.setScreenHeight(Toolkit.getDefaultToolkit().getScreenSize().height);

    try {
      BinDiffConfig.getInstance().write();
    } catch (IOException e) {
      logger.atSevere().withCause(e).log("Couldn't save configuration file");
      CMessageBox.showError(window, "Couldn't save configuration file.");
    }
  }
Holder class for the actual controller class TabPanelManager.
java/ui/src/main/java/com/google/security/zynamics/bindiff/gui/window/WindowFunctions.java