temp/kwin: fork from Alpine (!1021)

Add a patch to fix an issue where the virtualkeyboard if open before
locking the screen, would not disappear when locked
This commit is contained in:
Bart Ribbers 2020-03-03 10:38:15 +01:00
parent 05d72f4821
commit d26933bb50
No known key found for this signature in database
GPG key ID: 699D16185DAFAE61
2 changed files with 88 additions and 0 deletions

37
temp/kwin/APKBUILD Normal file
View file

@ -0,0 +1,37 @@
# Forked to apply Plasma Mobile specific fixes that are not in a release yet
pkgname=kwin
pkgver=5.18.80
_pkgver=5.18.2
pkgrel=0
pkgdesc="An easy to use, but flexible, composited Window Manager"
arch="all !armhf" # armhf blocked by qt5-qtdeclarative
url="https://www.kde.org/workspaces/plasmadesktop/"
license="GPL-2.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) AND LGPL-2.1-only"
depends="qt5-qtwayland qt5-qtmultimedia kirigami2 xorg-server-xwayland"
depends_dev="qt5-qtbase-dev qt5-qtdeclarative-dev qt5-qtscript-dev qt5-qtsensors-dev qt5-qtx11extras-dev kconfig-dev kconfigwidgets-dev kcoreaddons-dev kcrash-dev kglobalaccel-dev ki18n-dev kinit-dev knotifications-dev kpackage-dev plasma-framework-dev kwidgetsaddons-dev kwindowsystem-dev kiconthemes-dev kidletime-dev kwayland-dev kcompletion-dev kdeclarative-dev kcmutils-dev kio-dev ktextwidgets-dev knewstuff-dev kservice-dev kxmlgui-dev kactivities-dev kdecoration-dev kscreenlocker-dev breeze-dev libepoxy-dev mesa-dev wayland-dev xcb-util-cursor-dev xcb-util-image-dev xcb-util-wm-dev libinput-dev eudev-dev libdrm-dev mesa-gbm fontconfig-dev libxkbcommon-dev libxi-dev"
makedepends="$depends_dev extra-cmake-modules qt5-qttools-dev qt5-qttools-static kdoctools-dev"
checkdepends="xvfb-run"
source="https://download.kde.org/stable/plasma/$_pkgver/kwin-$_pkgver.tar.xz
make-virtualkeyboard-disappear-when-locking-screen.patch"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
options="!check" # Broken
builddir="$srcdir/$pkgname-$_pkgver"
build() {
cmake -B "$builddir"/build \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib
make -C build
}
check() {
cd "$builddir"/build
CTEST_OUTPUT_ON_FAILURE=TRUE xvfb-run ctest
}
package() {
DESTDIR="$pkgdir" make -C build install
}
sha512sums="dab807fd97d501b6dd90cb881a571a9c60be0fc6a7159460d7b025416d10fbfbe152d3cb13c067cd0ac035590e28ed5e72d971b8fd4e10cf2d3883309230b129 kwin-5.18.2.tar.xz
2ac077422221c04f9a81ebb78796f6975647adbe39abd4111af2919f89a665308d69ac2aeb279130633a425f8ce27778562589d66780e1ee30686edc912162f8 make-virtualkeyboard-disappear-when-locking-screen.patch"

View file

@ -0,0 +1,51 @@
From 6fe7f9281a4d8de4d977194b8d008323c770cf25 Mon Sep 17 00:00:00 2001
From: Tobias Fella <fella@posteo.de>
Date: Thu, 6 Feb 2020 10:33:23 +0100
Subject: [PATCH] Make the virtual keyboard disappear when locking the screen
Summary: Previously, the virtual keyboard did not close when locking the screen, instead blocking part of the lockscreen while not actually working. This patch actually makes the keyboard close before locking
Test Plan: Open virtual keyboard -> Lock Screen -> No keyboard shown
Reviewers: #kwin, davidedmundson
Reviewed By: #kwin, davidedmundson
Subscribers: davidedmundson, apol, kwin
Tags: #kwin
Differential Revision: https://phabricator.kde.org/D27172
---
virtualkeyboard.cpp | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/virtualkeyboard.cpp b/virtualkeyboard.cpp
index 5533e8d60..fd624f427 100644
--- a/virtualkeyboard.cpp
+++ b/virtualkeyboard.cpp
@@ -27,6 +27,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "workspace.h"
#include "xkb.h"
#include "xdgshellclient.h"
+#include "screenlockerwatcher.h"
#include <KWayland/Server/display.h>
#include <KWayland/Server/seat_interface.h>
@@ -87,6 +88,8 @@ void VirtualKeyboard::init()
}
m_inputWindow->setProperty("__kwin_input_method", true);
+ connect(ScreenLockerWatcher::self(), &ScreenLockerWatcher::aboutToLock, this, &VirtualKeyboard::hide);
+
if (waylandServer()) {
m_enabled = !input()->hasAlphaNumericKeyboard();
qCDebug(KWIN_VIRTUALKEYBOARD) << "enabled by default: " << m_enabled;
@@ -289,6 +292,7 @@ void VirtualKeyboard::hide()
if (m_inputWindow.isNull()) {
return;
}
+ m_inputWindow->hide();
qApp->inputMethod()->hide();
}