diff -r 74ce5ac84f25 -r 414d392b9ae6 src/main.cpp --- a/src/main.cpp Mon Jun 20 21:14:27 2022 +0300 +++ b/src/main.cpp Mon Jun 20 21:49:39 2022 +0300 @@ -364,6 +364,7 @@ uiutilities::makeKeySequenceMap(uiutilities::collectActions(&mainWindow)); const auto saveSettings = [&]{ setSetting(mainWindow.saveGeometry()); + setSetting(mainWindow.saveState()); setSetting(recentlyOpenedFiles); setSetting(renderPreferences.style); setSetting(renderPreferences.drawAxes); @@ -644,7 +645,14 @@ } }); mainWindow.setWindowTitle(title()); + mainWindow.tabifyDockWidget(ui.messageLogDock, ui.toolOptionsDock); mainWindow.restoreGeometry(setting()); + mainWindow.restoreState(setting()); + // If a dock is made floating and the app is closed, the dock becomes invisible + // after the restoreState call. So we make them visible again shere. + for (QDockWidget* dock : mainWindow.findChildren()) { + dock->setVisible(true); + } restoreSettings(); updateRenderPreferences(&ui, &renderPreferences, &documents); mainWindow.show();