From a4f7d7c594c70408f299ec8b794211c534709eaa Mon Sep 17 00:00:00 2001 From: Vaxry Date: Mon, 21 Apr 2025 22:22:06 +0100 Subject: protocols: add xdg_toplevel_tag_v1 support Adds a new windowrule to target windows by xdgTag, xdgtag: --- src/managers/ProtocolManager.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/managers/ProtocolManager.cpp') diff --git a/src/managers/ProtocolManager.cpp b/src/managers/ProtocolManager.cpp index 06987dae..c9bc2510 100644 --- a/src/managers/ProtocolManager.cpp +++ b/src/managers/ProtocolManager.cpp @@ -49,7 +49,6 @@ #include "../protocols/SecurityContext.hpp" #include "../protocols/CTMControl.hpp" #include "../protocols/HyprlandSurface.hpp" - #include "../protocols/core/Seat.hpp" #include "../protocols/core/DataDevice.hpp" #include "../protocols/core/Compositor.hpp" @@ -60,6 +59,7 @@ #include "../protocols/XXColorManagement.hpp" #include "../protocols/FrogColorManagement.hpp" #include "../protocols/ContentType.hpp" +#include "../protocols/XDGTag.hpp" #include "../helpers/Monitor.hpp" #include "../render/Renderer.hpp" @@ -182,6 +182,7 @@ CProtocolManager::CProtocolManager() { PROTO::ctm = makeUnique(&hyprland_ctm_control_manager_v1_interface, 2, "CTMControl"); PROTO::hyprlandSurface = makeUnique(&hyprland_surface_manager_v1_interface, 2, "HyprlandSurface"); PROTO::contentType = makeUnique(&wp_content_type_manager_v1_interface, 1, "ContentType"); + PROTO::xdgTag = makeUnique(&xdg_toplevel_tag_manager_v1_interface, 1, "XDGTag"); if (*PENABLECM) PROTO::colorManagement = makeUnique(&wp_color_manager_v1_interface, 1, "ColorManagement", *PDEBUGCM); @@ -271,6 +272,7 @@ CProtocolManager::~CProtocolManager() { PROTO::colorManagement.reset(); PROTO::xxColorManagement.reset(); PROTO::frogColorManagement.reset(); + PROTO::xdgTag.reset(); PROTO::lease.reset(); PROTO::sync.reset(); @@ -321,7 +323,8 @@ bool CProtocolManager::isGlobalPrivileged(const wl_global* global) { PROTO::xdgDialog->getGlobal(), PROTO::singlePixel->getGlobal(), PROTO::primarySelection->getGlobal(), - PROTO::hyprlandSurface->getGlobal(), + PROTO::hyprlandSurface->getGlobal(), + PROTO::xdgTag->getGlobal(), PROTO::sync ? PROTO::sync->getGlobal() : nullptr, PROTO::mesaDRM ? PROTO::mesaDRM->getGlobal() : nullptr, PROTO::linuxDma ? PROTO::linuxDma->getGlobal() : nullptr, -- cgit v1.2.3