support raise and lower windows on wayland
connect raise/lowerRequested to workspace()->raiseClientRequest /workspace()->lowerClientRequest REVIEWED-BY:Martin Graesslin
This commit is contained in:
parent
fc5b303c5f
commit
49e5e81970
3 changed files with 14 additions and 2 deletions
|
@ -413,7 +413,7 @@ void Workspace::raiseClientWithinApplication(AbstractClient* c)
|
|||
}
|
||||
}
|
||||
|
||||
void Workspace::raiseClientRequest(KWin::Client *c, NET::RequestSource src, xcb_timestamp_t timestamp)
|
||||
void Workspace::raiseClientRequest(KWin::AbstractClient *c, NET::RequestSource src, xcb_timestamp_t timestamp)
|
||||
{
|
||||
if (src == NET::FromTool || allowFullClientRaising(c, timestamp))
|
||||
raiseClient(c);
|
||||
|
@ -435,6 +435,10 @@ void Workspace::lowerClientRequest(KWin::Client *c, NET::RequestSource src, xcb_
|
|||
lowerClientWithinApplication(c);
|
||||
}
|
||||
|
||||
void Workspace::lowerClientRequest(KWin::AbstractClient *c)
|
||||
{
|
||||
lowerClientWithinApplication(c);
|
||||
}
|
||||
|
||||
void Workspace::restack(AbstractClient* c, AbstractClient* under, bool force)
|
||||
{
|
||||
|
|
|
@ -689,6 +689,13 @@ bool ShellClient::isInitialPositionSet() const
|
|||
void ShellClient::installQtExtendedSurface(QtExtendedSurfaceInterface *surface)
|
||||
{
|
||||
m_qtExtendedSurface = surface;
|
||||
|
||||
connect(m_qtExtendedSurface, &QtExtendedSurfaceInterface::raiseRequested, this, [this]() {
|
||||
workspace()->raiseClientRequest(this);
|
||||
});
|
||||
connect(m_qtExtendedSurface, &QtExtendedSurfaceInterface::lowerRequested, this, [this]() {
|
||||
workspace()->lowerClientRequest(this);
|
||||
});
|
||||
}
|
||||
|
||||
bool ShellClient::hasStrut() const
|
||||
|
|
|
@ -176,8 +176,9 @@ public:
|
|||
QRect adjustClientSize(Client* c, QRect moveResizeGeom, int mode);
|
||||
void raiseClient(AbstractClient* c, bool nogroup = false);
|
||||
void lowerClient(AbstractClient* c, bool nogroup = false);
|
||||
void raiseClientRequest(Client* c, NET::RequestSource src, xcb_timestamp_t timestamp);
|
||||
void raiseClientRequest(AbstractClient* c, NET::RequestSource src = NET::FromApplication, xcb_timestamp_t timestamp = 0);
|
||||
void lowerClientRequest(Client* c, NET::RequestSource src, xcb_timestamp_t timestamp);
|
||||
void lowerClientRequest(AbstractClient* c);
|
||||
void restackClientUnderActive(AbstractClient*);
|
||||
void restack(AbstractClient *c, AbstractClient *under, bool force = false);
|
||||
void updateClientLayer(AbstractClient* c);
|
||||
|
|
Loading…
Reference in a new issue