summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorFerdinand Bachmann2020-02-02 20:24:39 +0100
committerFerdinand Bachmann2020-02-02 20:26:54 +0100
commitb3fdb8754dbb7860a9873e17646bd86a177d64fa (patch)
treec4a704844cac66e5aeeaa0912a4b9c25f569a9c5
parent0a35047a118d93e771c7a4fb413432f176593300 (diff)
downloadaur-b3fdb8754dbb7860a9873e17646bd86a177d64fa.tar.gz
add patch for weird scroll behaviour
-rw-r--r--0001-fix-scrollbar-sometimes-reappearing-when-scrolling.patch57
-rw-r--r--PKGBUILD15
2 files changed, 67 insertions, 5 deletions
diff --git a/0001-fix-scrollbar-sometimes-reappearing-when-scrolling.patch b/0001-fix-scrollbar-sometimes-reappearing-when-scrolling.patch
new file mode 100644
index 000000000000..b1761e30b120
--- /dev/null
+++ b/0001-fix-scrollbar-sometimes-reappearing-when-scrolling.patch
@@ -0,0 +1,57 @@
+From 52267ddc68081699362f9c3dccfcf9c0e68ee662 Mon Sep 17 00:00:00 2001
+From: Ferdinand Bachmann <theferdi265@gmail.com>
+Date: Sun, 2 Feb 2020 20:09:59 +0100
+Subject: [PATCH] fix scrollbar sometimes reappearing when scrolling
+
+This change works around new behaviour in Qt 5.14 that results in QScrollBars
+not staying hidden when events are propagated to them by setting them to hidden
+again after each event propagated to them.
+---
+ src/TerminalDisplay.cpp | 7 ++++++-
+ src/TerminalDisplay.h | 4 ++++
+ 2 files changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/src/TerminalDisplay.cpp b/src/TerminalDisplay.cpp
+index b107c8c4..87de1445 100644
+--- a/src/TerminalDisplay.cpp
++++ b/src/TerminalDisplay.cpp
+@@ -2072,8 +2072,12 @@ void TerminalDisplay::setScrollBarPosition(Enum::ScrollBarPositionEnum position)
+ return;
+ }
+
+- _scrollBar->setHidden(position == Enum::ScrollBarHidden);
+ _scrollbarLocation = position;
++ applyScrollBarPosition();
++}
++
++void TerminalDisplay::applyScrollBarPosition() {
++ _scrollBar->setHidden(_scrollbarLocation == Enum::ScrollBarHidden);
+
+ propagateSize();
+ update();
+@@ -2715,6 +2719,7 @@ void TerminalDisplay::wheelEvent(QWheelEvent* ev)
+ _scrollWheelState.addWheelEvent(ev);
+
+ _scrollBar->event(ev);
++ applyScrollBarPosition();
+
+ Q_ASSERT(_sessionController != nullptr);
+
+diff --git a/src/TerminalDisplay.h b/src/TerminalDisplay.h
+index d99a1b40..5ac8e659 100644
+--- a/src/TerminalDisplay.h
++++ b/src/TerminalDisplay.h
+@@ -659,6 +659,10 @@ private:
+ // current size in columns and lines
+ void showResizeNotification();
+
++ // applies changes to scrollbarLocation to the scroll bar and propagates size
++ // information
++ void applyScrollBarPosition();
++
+ // scrolls the image by a number of lines.
+ // 'lines' may be positive ( to scroll the image down )
+ // or negative ( to scroll the image up )
+--
+2.25.0
+
diff --git a/PKGBUILD b/PKGBUILD
index 67688457cf69..8103a24a1e45 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,8 +1,8 @@
# Maintainer: Tajidin Abd <tajidinabd at archlinux dot us>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
-pkgname=konsole-git
-pkgver=r6607.473461f0
+pkgname=konsole-scrollbar-fix-git
+pkgver=r7049.9babfb2e
pkgrel=1
pkgdesc="KDE's terminal emulator"
arch=('i686' 'x86_64')
@@ -11,9 +11,9 @@ license=('GPL' 'LGPL' 'FDL')
depends=('kbookmarks' 'kcompletion' 'kconfig' 'kconfigwidgets' 'kcoreaddons' 'kcrash' 'kguiaddons' 'kdbusaddons' 'ki18n' 'kiconthemes' 'kinit' 'kio' 'knewstuff' 'knotifications' 'knotifyconfig' 'kparts' 'kpty' 'kservice' 'ktextwidgets' 'kwidgetsaddons' 'kwindowsystem' 'kxmlgui' 'kglobalaccel')
makedepends=('extra-cmake-modules' 'git' 'kdoctools' 'python')
provides=('konsole')
-conflicts=('konsole' 'kdebase-konsole')
-source=('git://anongit.kde.org/konsole.git')
-md5sums=('SKIP')
+conflicts=('konsole' 'kdebase-konsole' 'konsole-git')
+source=('git://anongit.kde.org/konsole.git' '0001-fix-scrollbar-sometimes-reappearing-when-scrolling.patch')
+md5sums=('SKIP' '028ba655f3a0ce5b42654fc0ee5fd742')
pkgver() {
cd konsole
@@ -22,6 +22,11 @@ pkgver() {
prepare() {
mkdir -p build
+ cd konsole
+
+ for patch in "$srcdir"/*.patch; do
+ patch -p1 < "$patch"
+ done
}
build() {