From ff4817752fc34e55565f71c9e541306ff163974c Mon Sep 17 00:00:00 2001 From: Albert Astals Cid Date: Tue, 15 Nov 2016 23:44:51 +0100 Subject: [PATCH 01/12] GIT_SILENT Upgrade KDE Applications version to 16.11.80. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0808fa37..2264a1ad 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,7 @@ project(Konsole) # KDE Application Version, managed by release script set (KDE_APPLICATIONS_VERSION_MAJOR "16") set (KDE_APPLICATIONS_VERSION_MINOR "11") -set (KDE_APPLICATIONS_VERSION_MICRO "70") +set (KDE_APPLICATIONS_VERSION_MICRO "80") set (KDE_APPLICATIONS_VERSION "${KDE_APPLICATIONS_VERSION_MAJOR}.${KDE_APPLICATIONS_VERSION_MINOR}.${KDE_APPLICATIONS_VERSION_MICRO}") # minimal requirements From 8d32afabb564ae124e06e233be5c5300da906aea Mon Sep 17 00:00:00 2001 From: Kurt Hindenburg Date: Sat, 19 Nov 2016 14:39:33 -0500 Subject: [PATCH 02/12] Add COLORTERM=truecolor to the environment FEATURE: 371919 (cherry picked from commit 8c7f165ed6fe1b72e5dfecd1ab24deaddedf9fd6) --- src/Profile.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Profile.cpp b/src/Profile.cpp index 096c9099..7cdc73c6 100644 --- a/src/Profile.cpp +++ b/src/Profile.cpp @@ -158,7 +158,7 @@ FallbackProfile::FallbackProfile() // See Pty.cpp on why Arguments is populated setProperty(Arguments, QStringList() << qgetenv("SHELL")); setProperty(Icon, "utilities-terminal"); - setProperty(Environment, QStringList() << QStringLiteral("TERM=xterm")); + setProperty(Environment, QStringList() << QStringLiteral("TERM=xterm") << QStringLiteral("COLORTERM=truecolor")); setProperty(LocalTabTitleFormat, "%d : %n"); setProperty(RemoteTabTitleFormat, "(%u) %H"); setProperty(ShowTerminalSizeHint, true); From 76453a7df8427048a8ce92169c3dbd172f89798c Mon Sep 17 00:00:00 2001 From: "Martin T. H. Sandsmark" Date: Sun, 20 Nov 2016 14:04:48 +0100 Subject: [PATCH 03/12] Fix crash with combining characters after several cursorRight() calls cursorRight() does not resize the _screenLines vector, leading to an assert in QVector when trying to look up the _cuX which is bigger than the amount of characters in the current line. BUG: 372530 (cherry picked from commit 80b9e0775ecc81a4462e932be7ffdb1e5b222a4d) --- src/Screen.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Screen.cpp b/src/Screen.cpp index cc8daa37..d674017b 100644 --- a/src/Screen.cpp +++ b/src/Screen.cpp @@ -640,7 +640,7 @@ void Screen::displayCharacter(unsigned short c) return; } // Find previous "real character" to try to combine with - int charToCombineWithX = _cuX; + int charToCombineWithX = qMin(_cuX, _screenLines[_cuY].length()); int charToCombineWithY = _cuY; do { if (charToCombineWithX > 0) { From 6416009561ce800cde2824bbf369a32687b6fdfe Mon Sep 17 00:00:00 2001 From: "Martin T. H. Sandsmark" Date: Sun, 20 Nov 2016 14:29:00 +0100 Subject: [PATCH 04/12] Don't crash/assert on trying to load session with invalid ID Failing to find a ID should not be a fatal assert, the ViewManager handles it properly. BUG: 372173 (cherry picked from commit c5ccfc20e8265f92ca73e8714a42f8691d68d2c2) --- src/SessionManager.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/SessionManager.cpp b/src/SessionManager.cpp index 2cb1bdbf..5413a31d 100644 --- a/src/SessionManager.cpp +++ b/src/SessionManager.cpp @@ -314,13 +314,12 @@ void SessionManager::restoreSessions(KConfig* config) Session* SessionManager::idToSession(int id) { - Q_ASSERT(id); foreach(Session * session, _sessions) { if (session->sessionId() == id) return session; } // this should not happen - Q_ASSERT(0); - return 0; + qWarning() << "Failed to find session for ID" << id; + return nullptr; } From d28afb6664459cf28d73d7617b74c49711ce7a86 Mon Sep 17 00:00:00 2001 From: "Martin T. H. Sandsmark" Date: Sun, 20 Nov 2016 14:36:38 +0100 Subject: [PATCH 05/12] Only use foreground process info if valid getProcessInfo() returned _foregroundProcessInfo without checking the return value of updateForegroundProcessInfo() indicating whether _foregroundProcessInfo was non-existent or invalid. I think this might be the solution to a bunch of recent crash bugs, but not closing them as I can't test. Also skipping RB because it is a simple patch and RB is down from here. CCBUG: 372401 CCBUG: 372620 CCBUG: 372619 CCBUG: 372593 (cherry picked from commit 40b1f0e851c115e1a2df79e7ec4bc4fe726d9e43) --- src/Session.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Session.cpp b/src/Session.cpp index 3269550f..d63c8a0c 100644 --- a/src/Session.cpp +++ b/src/Session.cpp @@ -961,8 +961,7 @@ ProcessInfo* Session::getProcessInfo() { ProcessInfo* process = 0; - if (isForegroundProcessActive()) { - updateForegroundProcessInfo(); + if (isForegroundProcessActive() && updateForegroundProcessInfo()) { process = _foregroundProcessInfo; } else { updateSessionProcessInfo(); From 019dde3e04b792f6643aa2993ed293aadbe4cd55 Mon Sep 17 00:00:00 2001 From: Kurt Hindenburg Date: Sun, 20 Nov 2016 10:22:57 -0500 Subject: [PATCH 06/12] Fix Save Output as -> HTML I don't see how this ever worked - not the best solution but it works now. (cherry picked from commit 1ba498b22429fff302c060a7a18cf8f7e611953d) --- src/SessionController.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/SessionController.cpp b/src/SessionController.cpp index cc7cbfa5..a527e99c 100644 --- a/src/SessionController.cpp +++ b/src/SessionController.cpp @@ -1736,7 +1736,8 @@ void SaveHistoryTask::execute() // from. // this is set to -1 to indicate the job has just been started - if ((dialog->selectedNameFilter()).contains("html", Qt::CaseInsensitive)) { + if (((dialog->selectedNameFilter()).contains("html", Qt::CaseInsensitive)) || + ((dialog->selectedFiles()).at(0).endsWith("html", Qt::CaseInsensitive))) { jobInfo.decoder = new HTMLDecoder(); } else { jobInfo.decoder = new PlainTextDecoder(); From cbc20416f77ab13b7e37de2a1030fb4bad143a57 Mon Sep 17 00:00:00 2001 From: Harald Sitter Date: Mon, 21 Nov 2016 08:28:40 +0100 Subject: [PATCH 07/12] sync value order with how 16.08 writes them makes it easier to spot difference when copying a changed theme moving forward REVIEW: 129369 (cherry picked from commit 9470fd0239dfca2a7409cd36a6f3df946cde4681) --- data/color-schemes/Breeze.colorscheme | 61 +++++++++++++-------------- 1 file changed, 29 insertions(+), 32 deletions(-) diff --git a/data/color-schemes/Breeze.colorscheme b/data/color-schemes/Breeze.colorscheme index 41421f7e..cdf66776 100644 --- a/data/color-schemes/Breeze.colorscheme +++ b/data/color-schemes/Breeze.colorscheme @@ -1,96 +1,93 @@ [Background] Color=49,54,59 -MaxRandomHue=0 -MaxRandomSaturation=0 -MaxRandomValue=0 + +[BackgroundFaint] +Color=49,54,59 [BackgroundIntense] Color=35,38,41 -[BackgroundFaint] +[Color0] Color=49,54,59 -[Color0] +[Color0Faint] Color=49,54,59 [Color0Intense] Color=127,140,141 -[Color0Faint] -Color=49,54,59 - [Color1] Color=237,21,21 -[Color1Intense] -Color=192,57,43 - [Color1Faint] Color=120,50,40 +[Color1Intense] +Color=192,57,43 + [Color2] Color=17,209,22 -[Color2Intense] -Color=28,220,154 - [Color2Faint] Color=23,162,98 +[Color2Intense] +Color=28,220,154 + [Color3] Color=246,116,0 -[Color3Intense] -Color=253,188,75 - [Color3Faint] Color=182,86,25 +[Color3Intense] +Color=253,188,75 + [Color4] Color=29,153,243 -[Color4Intense] -Color=61,174,233 - [Color4Faint] Color=27,102,143 +[Color4Intense] +Color=61,174,233 + [Color5] Color=155,89,182 -[Color5Intense] -Color=142,68,173 - [Color5Faint] Color=97,74,115 +[Color5Intense] +Color=142,68,173 + [Color6] Color=26,188,156 -[Color6Intense] -Color=22,160,133 - [Color6Faint] Color=24,108,96 +[Color6Intense] +Color=22,160,133 + [Color7] Color=239,240,241 -[Color7Intense] -Color=252,252,252 - [Color7Faint] Color=99,104,109 +[Color7Intense] +Color=252,252,252 + [Foreground] Color=239,240,241 -[ForegroundIntense] -Color=252,252,252 - [ForegroundFaint] Color=220,230,231 +[ForegroundIntense] +Color=252,252,252 + [General] Description=Breeze Opacity=1 From d5cac9d2f1a1225d19c0be6b51e3db6e4aaed3d4 Mon Sep 17 00:00:00 2001 From: Kurt Hindenburg Date: Thu, 24 Nov 2016 11:29:11 -0500 Subject: [PATCH 08/12] set default TERM=xterm-256color Change TERM=xterm to xterm-256color CCBUG: 371919 BUG: 212145 (cherry picked from commit 2671800b084cf89f1a91c6b3fdf93eb3b8078672) --- src/Profile.cpp | 2 +- src/Pty.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Profile.cpp b/src/Profile.cpp index 7cdc73c6..61b9e346 100644 --- a/src/Profile.cpp +++ b/src/Profile.cpp @@ -158,7 +158,7 @@ FallbackProfile::FallbackProfile() // See Pty.cpp on why Arguments is populated setProperty(Arguments, QStringList() << qgetenv("SHELL")); setProperty(Icon, "utilities-terminal"); - setProperty(Environment, QStringList() << QStringLiteral("TERM=xterm") << QStringLiteral("COLORTERM=truecolor")); + setProperty(Environment, QStringList() << QStringLiteral("TERM=xterm-256color") << QStringLiteral("COLORTERM=truecolor")); setProperty(LocalTabTitleFormat, "%d : %n"); setProperty(RemoteTabTitleFormat, "(%u) %H"); setProperty(ShowTerminalSizeHint, true); diff --git a/src/Pty.cpp b/src/Pty.cpp index f76edfbc..ffd01cd7 100644 --- a/src/Pty.cpp +++ b/src/Pty.cpp @@ -218,7 +218,7 @@ void Pty::addEnvironmentVariables(const QStringList& environmentVariables) // extra safeguard to make sure $TERM is always set if (!isTermEnvAdded) { - setEnv("TERM", "xterm"); + setEnv("TERM", "xterm-256color"); } } From 6c5178b9bfb58db59fc99ff87883ea545ae7a747 Mon Sep 17 00:00:00 2001 From: Albert Astals Cid Date: Tue, 29 Nov 2016 22:10:01 +0100 Subject: [PATCH 09/12] GIT_SILENT Upgrade KDE Applications version to 16.11.90. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2264a1ad..883ff05b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,7 @@ project(Konsole) # KDE Application Version, managed by release script set (KDE_APPLICATIONS_VERSION_MAJOR "16") set (KDE_APPLICATIONS_VERSION_MINOR "11") -set (KDE_APPLICATIONS_VERSION_MICRO "80") +set (KDE_APPLICATIONS_VERSION_MICRO "90") set (KDE_APPLICATIONS_VERSION "${KDE_APPLICATIONS_VERSION_MAJOR}.${KDE_APPLICATIONS_VERSION_MINOR}.${KDE_APPLICATIONS_VERSION_MICRO}") # minimal requirements From 4ccfa71b3129e3910e9689298a37b33f4bdb03fb Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Tue, 6 Dec 2016 05:33:44 +0100 Subject: [PATCH 10/12] SVN_SILENT made messages (.desktop file) - always resolve ours In case of conflict in i18n, keep the version of the branch "ours" To resolve a particular conflict, "git checkout --ours path/to/file.desktop" --- desktop/konsole.notifyrc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/desktop/konsole.notifyrc b/desktop/konsole.notifyrc index 11a305e2..6c210e50 100644 --- a/desktop/konsole.notifyrc +++ b/desktop/konsole.notifyrc @@ -446,6 +446,7 @@ Name[fa]=فعالیت در جلسه مخفی تحت نظارت Name[fi]=Aktiivisuutta tarkkailtavassa piiloistunnossa Name[ia]=Activitate in session monitorate celate Name[it]=Attività in sessione sorvegliata nascosta +Name[ko]=숨겨진 관찰하는 세션에서 활동 발생 Name[nl]=Activiteit in een verborgen gevolgde sessie Name[nn]=Aktivitet i gøymd overvaka økt Name[pl]=Aktywność w ukrytej monitorowanej sesji @@ -476,6 +477,7 @@ Comment[fa]=فعالیت‌های یافته شده در یک جلسه مخفی Comment[fi]=Aktiivisuutta havaittu tarkkailtavassa piiloistunnossa Comment[ia]=Activitate relevate in un session monitorate celate Comment[it]=Attività rilevata in una sessione sorvegliata nascosta +Comment[ko]=숨겨진 관찰하는 세션에서 활동 감지됨 Comment[nl]=Activiteit ontdekt in een verborgen gevolgde sessie Comment[nn]=Aktivitet oppdaga i gøymd overvaka økt Comment[pl]=Wykryto aktywność w ukrytej monitorowanej sesji @@ -676,6 +678,7 @@ Name[fa]=سکوت در جلسه مخفی تحت نظارت Name[fi]=Hiljaisuus valvotussa piiloistunnossa Name[ia]=Silentio in session monitorate celate Name[it]=Silenzio in una sessione sorvegliata nascosta +Name[ko]=숨겨진 관찰하는 세션에서 침묵 감지됨 Name[nl]=Stilte in verborgen gevolgde sessie Name[nn]=Stille i gøymd overvaka økt Name[pl]=Cisza w ukrytej monitorowanej sesji @@ -706,6 +709,7 @@ Comment[fa]=سکوت یافته شده در یک جلسه مخفی تحت نظا Comment[fi]=Hiljaisuutta havaittu tarkkailtavassa piiloistunnossa Comment[ia]=Silentio relevate in un session monitorate celate Comment[it]=Silenzio rilevato in una sessione sorvegliata nascosta +Comment[ko]=숨겨진 관찰하는 세션에서 침묵 감지됨 Comment[nl]=Stilte ontdekt in eeb verborgen gevolgde sessie Comment[nn]=Stille oppdaga i gøymd overvaka økt Comment[pl]=Wykryto ciszę w ukrytej monitorowanej sesji From 701fbc65a0a49a179fe95e43d51e7d0eb15c865d Mon Sep 17 00:00:00 2001 From: Albert Astals Cid Date: Tue, 6 Dec 2016 20:51:40 +0100 Subject: [PATCH 11/12] GIT_SILENT Upgrade KDE Applications version to 16.12.0. --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 883ff05b..1e482180 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,8 +3,8 @@ project(Konsole) # KDE Application Version, managed by release script set (KDE_APPLICATIONS_VERSION_MAJOR "16") -set (KDE_APPLICATIONS_VERSION_MINOR "11") -set (KDE_APPLICATIONS_VERSION_MICRO "90") +set (KDE_APPLICATIONS_VERSION_MINOR "12") +set (KDE_APPLICATIONS_VERSION_MICRO "0") set (KDE_APPLICATIONS_VERSION "${KDE_APPLICATIONS_VERSION_MAJOR}.${KDE_APPLICATIONS_VERSION_MINOR}.${KDE_APPLICATIONS_VERSION_MICRO}") # minimal requirements From c6ffcaff557760f46ba5813823868e656b45da0f Mon Sep 17 00:00:00 2001 From: Harald Sitter Date: Mon, 19 Dec 2016 09:09:03 +0100 Subject: [PATCH 12/12] Add --nofork as compatibility alias for --separate In previous incarnations of kuniqueapplication it used to inject a common command option --nofork which is meant to bypass single-instance behavior. Given that konsole can and is being invoked from scripts they may well want to ensure that the fork they created is the actual instance of konsole. i.e. to monitor return values and life time Presently, since the options are divergent between konsole4 and konsole5, scripts are either incompatible with older konsoles or with newer konsoles. To make life easier for everyone add a compat alias --nofork, which behaves exactly like separate. (this unbreaks steam, which is a notable recent offender of falling into this particular trap) REVIEW: 129647 CHANGELOG: Added compatibility command option `--nofork` for single-instance behavior --- src/Application.cpp | 3 ++- src/main.cpp | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Application.cpp b/src/Application.cpp index 5b352ec9..e04264a4 100644 --- a/src/Application.cpp +++ b/src/Application.cpp @@ -74,7 +74,8 @@ void Application::populateCommandLineParser(QCommandLineParser *parser) parser->addOption(QCommandLineOption(QStringList() << QStringLiteral("background-mode"), i18nc("@info:shell", "Start Konsole in the background and bring to the front" " when Ctrl+Shift+F12 (by default) is pressed"))); - parser->addOption(QCommandLineOption(QStringList() << QStringLiteral("separate"), i18n("Run in a separate process"))); + // --nofork is a compatibility alias for separate + parser->addOption(QCommandLineOption(QStringList() << QStringLiteral("separate") << QStringLiteral("nofork"), i18n("Run in a separate process"))); parser->addOption(QCommandLineOption(QStringList() << QStringLiteral("show-menubar"), i18nc("@info:shell", "Show the menubar, overriding the default setting"))); parser->addOption(QCommandLineOption(QStringList() << QStringLiteral("hide-menubar"), i18nc("@info:shell", "Hide the menubar, overriding the default setting"))); parser->addOption(QCommandLineOption(QStringList() << QStringLiteral("show-tabbar"), i18nc("@info:shell", "Show the tabbar, overriding the default setting"))); diff --git a/src/main.cpp b/src/main.cpp index 26d3da99..f4bb5af3 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -228,7 +228,10 @@ bool shouldUseNewProcess(int argc, char *argv[]) } // if users have explictly requested starting a new process - if (arguments.contains(QStringLiteral("--separate"))) { + // Support --nofork to retain argument compatibility with older + // versions. + if (arguments.contains(QStringLiteral("--separate")) || + arguments.contains(QStringLiteral("--nofork"))) { return true; }