From 2e3d42a9a9999239c4151baa1900fa0e09b1a2ec Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Sat, 30 Jul 2022 23:51:13 +0200 Subject: [PATCH] added a dpms dispatcher --- src/managers/KeybindManager.cpp | 15 ++++++++++++++- src/managers/KeybindManager.hpp | 1 + 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/managers/KeybindManager.cpp b/src/managers/KeybindManager.cpp index 42ce6b895..4c8e1d6f6 100644 --- a/src/managers/KeybindManager.cpp +++ b/src/managers/KeybindManager.cpp @@ -36,6 +36,7 @@ CKeybindManager::CKeybindManager() { m_mDispatchers["pass"] = pass; m_mDispatchers["layoutmsg"] = layoutmsg; m_mDispatchers["toggleopaque"] = toggleOpaque; + m_mDispatchers["dpms"] = dpms; m_tScrollTimer.reset(); } @@ -1324,4 +1325,16 @@ void CKeybindManager::toggleOpaque(std::string unused) { PWINDOW->m_sAdditionalConfigData.forceOpaque = !PWINDOW->m_sAdditionalConfigData.forceOpaque; g_pHyprRenderer->damageWindow(PWINDOW); -} \ No newline at end of file +} + +void CKeybindManager::dpms(std::string arg) { + bool enable = arg == "on"; + + for (auto& m : g_pCompositor->m_vMonitors) { + wlr_output_enable(m->output, enable); + + if (!wlr_output_commit(m->output)) { + Debug::log(ERR, "Couldn't commit output %s", m->szName.c_str()); + } + } +} diff --git a/src/managers/KeybindManager.hpp b/src/managers/KeybindManager.hpp index 2e97d7474..b938c5573 100644 --- a/src/managers/KeybindManager.hpp +++ b/src/managers/KeybindManager.hpp @@ -98,6 +98,7 @@ private: static void pass(std::string); static void layoutmsg(std::string); static void toggleOpaque(std::string); + static void dpms(std::string); friend class CCompositor; };