Add API to easily find Toplevels from their internal Id

master
Aleix Pol 2020-07-23 13:13:22 +02:00
parent fbbf96751b
commit 1ef90d9c90
2 changed files with 10 additions and 0 deletions

View File

@ -1712,6 +1712,13 @@ Toplevel *Workspace::findToplevel(std::function<bool (const Toplevel*)> func) co
return nullptr;
}
Toplevel *Workspace::findToplevel(const QUuid &internalId) const
{
return findToplevel([internalId] (const KWin::Toplevel* l) -> bool {
return internalId == l->internalId();
});
}
void Workspace::forEachToplevel(std::function<void (Toplevel *)> func)
{
std::for_each(m_allClients.constBegin(), m_allClients.constEnd(), func);

View File

@ -134,6 +134,9 @@ public:
void forEachUnmanaged(std::function<void (Unmanaged*)> func);
Toplevel *findToplevel(std::function<bool (const Toplevel*)> func) const;
void forEachToplevel(std::function<void (Toplevel *)> func);
Toplevel *findToplevel(const QUuid &internalId) const;
/**
* @brief Finds a Toplevel for the internal window @p w.
*