#pragma once #include #include #include #include "../complex/ComplexDataTypes.hpp" #include "../../../defines.hpp" namespace Config { class CWorkspaceRule { public: CWorkspaceRule() = default; ~CWorkspaceRule() = default; CWorkspaceRule(const CWorkspaceRule&) = default; CWorkspaceRule(CWorkspaceRule&) = default; CWorkspaceRule(CWorkspaceRule&&) = default; CWorkspaceRule& operator=(const CWorkspaceRule&) = default; // merge other into us void mergeLeft(const CWorkspaceRule& other); bool m_enabled = true; std::string m_monitor = ""; std::string m_workspaceString = ""; std::string m_workspaceName = ""; WORKSPACEID m_workspaceId = -1; std::optional m_isDefault; std::optional m_isPersistent; std::optional m_gapsIn; std::optional m_gapsOut; std::optional m_floatGaps = m_gapsOut; std::optional m_borderSize; std::optional m_decorate; std::optional m_noRounding; std::optional m_noBorder; std::optional m_noShadow; std::optional m_onCreatedEmptyRunCmd; std::optional m_defaultName; std::optional m_layout; std::map m_layoutopts; std::optional m_animationStyle; }; };