Paste P507

Masterwork From Distant Lands
ActivePublic

Authored by davidedmundson on Dec 13 2019, 7:48 PM.
commit 85a1fb0807322862dc5ed53df80c4497b41b95d6
Author: David Edmundson <kde@davidedmundson.co.uk>
Date: Fri Dec 13 20:48:28 2019 +0100
Patch for Kai
diff --git a/xdgshellclient.cpp b/xdgshellclient.cpp
index 1b523c3ec..7ed44acab 100644
--- a/xdgshellclient.cpp
+++ b/xdgshellclient.cpp
@@ -1401,6 +1401,13 @@ void XdgShellClient::installPlasmaShellSurface(PlasmaShellSurfaceInterface *surf
workspace()->updateClientArea();
}
};
+ //DAVE do we need this line? if so, do we want this line vs a specific request focus?
+ connect(surface, &PlasmaShellSurfaceInterface::panelTakesFocusChanged , this, [this, surface]() {
+ qDebug() << " I WANT FOCUS DAMNIT!!!";
+ if (surface->panelTakesFocus()) {
+ workspace()->activateClient(this);
+ }
+ });
connect(surface, &PlasmaShellSurfaceInterface::positionChanged, this, updatePosition);
connect(surface, &PlasmaShellSurfaceInterface::roleChanged, this, updateRole);
connect(surface, &PlasmaShellSurfaceInterface::panelBehaviorChanged, this,
@@ -1911,7 +1918,9 @@ void XdgShellClient::showOnScreenEdge()
bool XdgShellClient::dockWantsInput() const
{
if (m_plasmaShellSurface) {
- if (m_plasmaShellSurface->role() == PlasmaShellSurfaceInterface::Role::Panel) {
+ if (m_plasmaShellSurface->role() == PlasmaShellSurfaceInterface::Role::Panel ||
+ m_plasmaShellSurface->role() == PlasmaShellSurfaceInterface::Role::Notification ||
+ m_plasmaShellSurface->role() == PlasmaShellSurfaceInterface::Role::CriticalNotification) {
return m_plasmaShellSurface->panelTakesFocus();
}
}
davidedmundson edited the content of this paste. (Show Details)Dec 13 2019, 7:48 PM
davidedmundson changed the title of this paste from untitled to Masterwork From Distant Lands.