summaryrefslogtreecommitdiff
path: root/src/Compositor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Compositor.cpp')
-rw-r--r--src/Compositor.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp
index 942da2ee..8b415bd2 100644
--- a/src/Compositor.cpp
+++ b/src/Compositor.cpp
@@ -931,6 +931,23 @@ CWindow* CCompositor::getWindowFromHandle(uint32_t handle) {
return nullptr;
}
+CWindow* CCompositor::getWindowFromZWLRHandle(wl_resource* handle) {
+ for (auto& w : m_vWindows) {
+ if (!w->m_bIsMapped || w->isHidden() || !w->m_phForeignToplevel)
+ continue;
+
+ wl_resource* current;
+
+ wl_list_for_each(current, &w->m_phForeignToplevel->resources, link) {
+ if (current == handle) {
+ return w.get();
+ }
+ }
+ }
+
+ return nullptr;
+}
+
CWindow* CCompositor::getFullscreenWindowOnWorkspace(const int& ID) {
for (auto& w : m_vWindows) {
if (w->m_iWorkspaceID == ID && w->m_bIsFullscreen)