From ebf258788e46cd0320fb17138ba413f719180418 Mon Sep 17 00:00:00 2001 From: giskard Date: Wed, 29 May 2024 05:37:24 +0800 Subject: config: add tag dispacther and window rule (#6211) --- src/desktop/Window.hpp | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'src/desktop/Window.hpp') diff --git a/src/desktop/Window.hpp b/src/desktop/Window.hpp index 473ce361..d4e26d5d 100644 --- a/src/desktop/Window.hpp +++ b/src/desktop/Window.hpp @@ -1,18 +1,21 @@ #pragma once -#include "../defines.hpp" -#include "Subsurface.hpp" -#include "../helpers/AnimatedVariable.hpp" -#include "../render/decorations/IHyprWindowDecoration.hpp" #include +#include + #include "../config/ConfigDataValues.hpp" +#include "../defines.hpp" +#include "../helpers/AnimatedVariable.hpp" #include "../helpers/Vector2D.hpp" -#include "WLSurface.hpp" -#include "Popup.hpp" +#include "../helpers/signal/Signal.hpp" +#include "../helpers/TagKeeper.hpp" #include "../macros.hpp" #include "../managers/XWaylandManager.hpp" +#include "../render/decorations/IHyprWindowDecoration.hpp" #include "DesktopTypes.hpp" -#include "../helpers/signal/Signal.hpp" +#include "Popup.hpp" +#include "Subsurface.hpp" +#include "WLSurface.hpp" class CXDGSurfaceResource; class CXWaylandSurface; @@ -183,6 +186,7 @@ struct SWindowRule { std::string szClass; std::string szInitialTitle; std::string szInitialClass; + std::string szTag; int bX11 = -1; // -1 means "ANY" int bFloating = -1; int bFullscreen = -1; @@ -365,6 +369,9 @@ class CWindow { // stores the currently matched window rules std::vector m_vMatchedRules; + // window tags + CTagKeeper m_tags; + // For the list lookup bool operator==(const CWindow& rhs) { return m_pXDGSurface == rhs.m_pXDGSurface && m_pXWaylandSurface == rhs.m_pXWaylandSurface && m_vPosition == rhs.m_vPosition && m_vSize == rhs.m_vSize && -- cgit v1.2.3