diff options
author | Ferdinand Bachmann | 2020-02-02 20:24:39 +0100 |
---|---|---|
committer | Ferdinand Bachmann | 2020-02-02 20:26:54 +0100 |
commit | b3fdb8754dbb7860a9873e17646bd86a177d64fa (patch) | |
tree | c4a704844cac66e5aeeaa0912a4b9c25f569a9c5 | |
parent | 0a35047a118d93e771c7a4fb413432f176593300 (diff) | |
download | aur-b3fdb8754dbb7860a9873e17646bd86a177d64fa.tar.gz |
add patch for weird scroll behaviour
-rw-r--r-- | 0001-fix-scrollbar-sometimes-reappearing-when-scrolling.patch | 57 | ||||
-rw-r--r-- | PKGBUILD | 15 |
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 + @@ -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() { |