From 7c59acba5699c9c58090a7a738669669a7307023 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 21 Aug 2021 23:14:26 +0100 Subject: gentoo resync : 21.08.2021 --- ...1.08.0-fix-MainWindow-size-w-o-saved-size.patch | 79 ++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 kde-apps/konsole/files/konsole-21.08.0-fix-MainWindow-size-w-o-saved-size.patch (limited to 'kde-apps/konsole/files/konsole-21.08.0-fix-MainWindow-size-w-o-saved-size.patch') diff --git a/kde-apps/konsole/files/konsole-21.08.0-fix-MainWindow-size-w-o-saved-size.patch b/kde-apps/konsole/files/konsole-21.08.0-fix-MainWindow-size-w-o-saved-size.patch new file mode 100644 index 000000000000..48fe1be666af --- /dev/null +++ b/kde-apps/konsole/files/konsole-21.08.0-fix-MainWindow-size-w-o-saved-size.patch @@ -0,0 +1,79 @@ +From c78edfbac49852cec40efd5cbe73c341bc06c5ab Mon Sep 17 00:00:00 2001 +From: Ahmad Samir +Date: Thu, 29 Jul 2021 18:45:45 +0200 +Subject: [PATCH] Fix MainWindow size when there is no saved size + +The very first time a user runs Konsole, where is no konsolerc file in $HOME, +there is no saved size to restore, instead use the sizeHint(), which ideally +will be the size set in the default profile (based on lines/columns setting). + +CCBUG: 437791 +--- + src/MainWindow.cpp | 21 +++++++++++++++------ + src/MainWindow.h | 1 + + 2 files changed, 16 insertions(+), 6 deletions(-) + +diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp +index a4b36b61d..9b025c8fe 100644 +--- a/src/MainWindow.cpp ++++ b/src/MainWindow.cpp +@@ -70,13 +70,22 @@ MainWindow::MainWindow() : + _menuBarInitialVisibility(true), + _menuBarInitialVisibilityApplied(false) + { +- if (!KonsoleSettings::saveGeometryOnExit()) { ++ KSharedConfigPtr konsoleConfig = KSharedConfig::openConfig(QStringLiteral("konsolerc")); ++ KConfigGroup cg = konsoleConfig->group(QStringLiteral("MainWindow")); ++ const bool isGroup = cg.exists(); ++ if (isGroup) { ++ const QString stateConfig = cg.readEntry(QStringLiteral("State")); ++ ++ // If "stateConfig" is empty then this is the very first run, ++ // i.e. no konsolerc file in $HOME ++ _isSavedUiState = !stateConfig.isEmpty(); ++ } ++ ++ if (isGroup && !KonsoleSettings::saveGeometryOnExit()) { + // If we are not using the global Konsole save geometry on exit, + // remove all geometry data from [MainWindow] in Konsolerc, so KWin will + // manage it directly +- KSharedConfigPtr konsoleConfig = KSharedConfig::openConfig(QStringLiteral("konsolerc")); +- KConfigGroup group = konsoleConfig->group("MainWindow"); +- QMap configEntries = group.entryMap(); ++ QMap configEntries = cg.entryMap(); + QMapIterator i(configEntries); + + while (i.hasNext()) { +@@ -93,7 +102,7 @@ MainWindow::MainWindow() : + || i.key().contains(QLatin1String(" YPosition")) + #endif + ) { +- group.deleteEntry(i.key()); ++ cg.deleteEntry(i.key()); + } + } + } +@@ -949,7 +958,7 @@ void MainWindow::showEvent(QShowEvent *event) + _menuBarInitialVisibilityApplied = true; + } + +- if (!KonsoleSettings::saveGeometryOnExit()) { ++ if (!_isSavedUiState || !KonsoleSettings::saveGeometryOnExit()) { + // Delay resizing to here, so that the other parts of the UI + // (ViewManager, TabbedViewContainer, TerminalDisplay ... etc) + // have been created and TabbedViewContainer::sizeHint() returns +diff --git a/src/MainWindow.h b/src/MainWindow.h +index a80674012..876a81d71 100644 +--- a/src/MainWindow.h ++++ b/src/MainWindow.h +@@ -200,6 +200,7 @@ private: + bool _menuBarInitialVisibility; + bool _menuBarInitialVisibilityApplied; + bool _blurEnabled = false; ++ bool _isSavedUiState = false; + }; + } + +-- +GitLab + -- cgit v1.2.3