mirror of
https://github.com/hyprwm/Hyprland.git
synced 2025-08-05 22:51:58 -07:00
Added toplevel handle sharing Rev2 (#1203)
* Added toplevel handle sharing * nix: fix build * update hyprland-protocols Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
This commit is contained in:
@@ -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)
|
||||
|
Reference in New Issue
Block a user