Konsole: fix keyboard modifiers, use xterm-color by default

This commit is contained in:
Gerasim Troeglazov
2021-01-06 21:59:06 +10:00
parent 3a0fdcf291
commit 0c9f2d5b71
2 changed files with 72 additions and 1 deletions

View File

@@ -4,7 +4,7 @@ line interface for directly controlling your computer."
HOMEPAGE="https://apps.kde.org/konsole"
COPYRIGHT="2010-2020 KDE Organisation"
LICENSE="GNU LGPL v2"
REVISION="2"
REVISION="3"
SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/konsole-$portVersion.tar.xz"
CHECKSUM_SHA256="6d3ba8a4e5baeda3f8b380f122313de1421836892994f1ddf0e6872696598d59"
SOURCE_DIR="konsole-$portVersion"

View File

@@ -52,3 +52,74 @@ index 7325bae..0edfe87 100644
--
2.30.0
From 29354b9a1dd6957bc3513aed7765f3cd35f17fee Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Wed, 6 Jan 2021 21:55:19 +1000
Subject: Use xterm-color by default
diff --git a/src/Pty.cpp b/src/Pty.cpp
index 247976a..21779a4 100644
--- a/src/Pty.cpp
+++ b/src/Pty.cpp
@@ -229,7 +229,7 @@ void Pty::addEnvironmentVariables(const QStringList &environmentVariables)
// extra safeguard to make sure $TERM is always set
if (!isTermEnvAdded) {
- setEnv(QStringLiteral("TERM"), QStringLiteral("xterm-256color"));
+ setEnv(QStringLiteral("TERM"), QStringLiteral("xterm-color"));
}
}
diff --git a/src/profile/Profile.cpp b/src/profile/Profile.cpp
index d09d026..1c1b232 100644
--- a/src/profile/Profile.cpp
+++ b/src/profile/Profile.cpp
@@ -172,7 +172,7 @@ void Profile::useFallback()
// See Pty.cpp on why Arguments is populated
setProperty(Arguments, QStringList() << QString::fromUtf8(qgetenv("SHELL")));
setProperty(Icon, QStringLiteral("utilities-terminal"));
- setProperty(Environment, QStringList() << QStringLiteral("TERM=xterm-256color") << QStringLiteral("COLORTERM=truecolor"));
+ setProperty(Environment, QStringList() << QStringLiteral("TERM=xterm-color") << QStringLiteral("COLORTERM=truecolor"));
setProperty(LocalTabTitleFormat, QStringLiteral("%d : %n"));
setProperty(RemoteTabTitleFormat, QStringLiteral("(%u) %H"));
setProperty(ShowTerminalSizeHint, true);
--
2.30.0
From aeeadd738f62f3c214d9c09ae8b3692da5bd6f31 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Wed, 6 Jan 2021 21:56:14 +1000
Subject: Change alt to control for Haiku
diff --git a/src/Vt102Emulation.cpp b/src/Vt102Emulation.cpp
index f977115..18b9914 100644
--- a/src/Vt102Emulation.cpp
+++ b/src/Vt102Emulation.cpp
@@ -1201,12 +1201,19 @@ void Vt102Emulation::sendKeyEvent(QKeyEvent *event)
// Alt+[Character] results in Esc+[Character] being sent
// (unless there is an entry defined for this particular combination
// in the keyboard modifier)
+#ifdef Q_OS_HAIKU
+ const bool wantsControlModifier = ((entry.modifiers() & entry.modifierMask() & Qt::ControlModifier) != 0U);
+#else
const bool wantsAltModifier = ((entry.modifiers() & entry.modifierMask() & Qt::AltModifier) != 0U);
+#endif
const bool wantsMetaModifier = ((entry.modifiers() & entry.modifierMask() & Qt::MetaModifier) != 0U);
const bool wantsAnyModifier = ((entry.state() &
entry.stateMask() & KeyboardTranslator::AnyModifierState) != 0);
-
+#ifdef Q_OS_HAIKU
+ if ( ((modifiers & Qt::ControlModifier) != 0U) && !(wantsControlModifier || wantsAnyModifier)
+#else
if ( ((modifiers & Qt::AltModifier) != 0U) && !(wantsAltModifier || wantsAnyModifier)
+#endif
&& !event->text().isEmpty() )
{
textToSend.prepend("\033");
--
2.30.0