From 064bdb06f1f10676d18c333cc24caee2eb199408 Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 13 May 2024 16:57:06 +0300 Subject: [PATCH] hyprctl: Add locked cmd to requests (#6042) Co-authored-by: Leftas --- src/debug/HyprCtl.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/debug/HyprCtl.cpp b/src/debug/HyprCtl.cpp index a89e0710..f8fdb03f 100644 --- a/src/debug/HyprCtl.cpp +++ b/src/debug/HyprCtl.cpp @@ -1550,6 +1550,18 @@ std::string dispatchDismissNotify(eHyprCtlOutputFormat format, std::string reque return "ok"; } +std::string getIsLocked(eHyprCtlOutputFormat format, std::string request) { + std::string lockedStr = g_pSessionLockManager->isSessionLocked() ? "true" : "false"; + if (format == eHyprCtlOutputFormat::FORMAT_JSON) + lockedStr = std::format(R"#( +{{ + "locked": {} +}} +)#", + lockedStr); + return lockedStr; +} + CHyprCtl::CHyprCtl() { registerCommand(SHyprCtlCommand{"workspaces", true, workspacesRequest}); registerCommand(SHyprCtlCommand{"workspacerules", true, workspaceRulesRequest}); @@ -1569,6 +1581,7 @@ CHyprCtl::CHyprCtl() { registerCommand(SHyprCtlCommand{"rollinglog", true, rollinglogRequest}); registerCommand(SHyprCtlCommand{"layouts", true, layoutsRequest}); registerCommand(SHyprCtlCommand{"configerrors", true, configErrorsRequest}); + registerCommand(SHyprCtlCommand{"locked", true, getIsLocked}); registerCommand(SHyprCtlCommand{"monitors", false, monitorsRequest}); registerCommand(SHyprCtlCommand{"reload", false, reloadRequest});