From 08ee14b4a0a93793f0f65295056889597ea8af56 Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Tue, 19 Apr 2022 19:01:23 +0200 Subject: Added dynamic monitor rules --- src/config/ConfigManager.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/config/ConfigManager.cpp') diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp index 30585502..b2af4eea 100644 --- a/src/config/ConfigManager.cpp +++ b/src/config/ConfigManager.cpp @@ -396,6 +396,13 @@ void CConfigManager::loadConfigLoadVars() { g_pHyprError->queueCreate("Warning: You're using an autogenerated config! (config file: " + CONFIGPATH + " )\nSUPER+Enter -> kitty\nSUPER+T -> Alacritty\nSUPER+M -> exit Hyprland", CColor(255, 255, 70, 255)); else g_pHyprError->destroy(); + + // Set the modes for all monitors as we configured them + // not on first launch because monitors might not exist yet + // and they'll be taken care of in the newMonitor event + if (!isFirstLaunch) { + m_bWantsMonitorReload = true; + } } void CConfigManager::tick() { @@ -526,4 +533,13 @@ void CConfigManager::dispatchExecOnce() { } firstExecRequests.clear(); // free some kb of memory :P +} + +void CConfigManager::performMonitorReload() { + for (auto& m : g_pCompositor->m_lMonitors) { + auto rule = getMonitorRuleFor(m.szName); + g_pHyprRenderer->applyMonitorRule(&m, &rule); + } + + m_bWantsMonitorReload = false; } \ No newline at end of file -- cgit v1.2.3