From b80b64cd6c913f8c8ac820a1e4ca615a62ff958f Mon Sep 17 00:00:00 2001 From: nyx Date: Fri, 7 Mar 2025 20:12:02 -0500 Subject: windowrules: add option to allow size persistence between app launches (#9422) --- src/config/ConfigManager.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/config/ConfigManager.cpp') diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp index 12b43b37..f0383d50 100644 --- a/src/config/ConfigManager.cpp +++ b/src/config/ConfigManager.cpp @@ -2954,3 +2954,18 @@ std::string SConfigOptionDescription::jsonify() const { void CConfigManager::ensurePersistentWorkspacesPresent() { g_pCompositor->ensurePersistentWorkspacesPresent(m_vWorkspaceRules); } + +void CConfigManager::storeFloatingSize(PHLWINDOW window, const Vector2D& size) { + Debug::log(LOG, "storing floating size {}x{} for window {}::{}", size.x, size.y, window->m_szClass, window->m_szTitle); + SFloatCache id{window}; + m_mStoredFloatingSizes[id] = size; +} + +std::optional CConfigManager::getStoredFloatingSize(PHLWINDOW window) { + SFloatCache id{window}; + if (m_mStoredFloatingSizes.contains(id)) { + Debug::log(LOG, "got stored size {}x{} for window {}::{}", m_mStoredFloatingSizes[id].x, m_mStoredFloatingSizes[id].y, window->m_szClass, window->m_szTitle); + return m_mStoredFloatingSizes[id]; + } + return std::nullopt; +} -- cgit v1.2.3