move helper functions to class

This commit is contained in:
Yusuf Duran 2024-07-06 16:20:52 +02:00
parent 6aa6e55f87
commit d4a464dfd3
2 changed files with 14 additions and 17 deletions

View File

@ -70,7 +70,7 @@ static std::string availableModesForOutput(CMonitor* pMonitor, eHyprCtlOutputFor
return result; return result;
} }
std::string HyprCtl::getMonitorData(Hyprutils::Memory::CSharedPointer<CMonitor> m, eHyprCtlOutputFormat format) { std::string CHyprCtl::getMonitorData(Hyprutils::Memory::CSharedPointer<CMonitor> m, eHyprCtlOutputFormat format) {
std::string result; std::string result;
if (!m->output || m->ID == -1ull) if (!m->output || m->ID == -1ull)
return ""; return "";
@ -133,7 +133,7 @@ std::string monitorsRequest(eHyprCtlOutputFormat format, std::string request) {
result += "["; result += "[";
for (auto& m : allMonitors ? g_pCompositor->m_vRealMonitors : g_pCompositor->m_vMonitors) { for (auto& m : allMonitors ? g_pCompositor->m_vRealMonitors : g_pCompositor->m_vMonitors) {
result += HyprCtl::getMonitorData(m, format); result += CHyprCtl::getMonitorData(m, format);
} }
trimTrailingComma(result); trimTrailingComma(result);
@ -194,7 +194,7 @@ static std::string getGroupedData(PHLWINDOW w, eHyprCtlOutputFormat format) {
return result.str(); return result.str();
} }
std::string HyprCtl::getWindowData(PHLWINDOW w, eHyprCtlOutputFormat format) { std::string CHyprCtl::getWindowData(PHLWINDOW w, eHyprCtlOutputFormat format) {
auto getFocusHistoryID = [](PHLWINDOW wnd) -> int { auto getFocusHistoryID = [](PHLWINDOW wnd) -> int {
for (size_t i = 0; i < g_pCompositor->m_vWindowFocusHistory.size(); ++i) { for (size_t i = 0; i < g_pCompositor->m_vWindowFocusHistory.size(); ++i) {
if (g_pCompositor->m_vWindowFocusHistory[i].lock() == wnd) if (g_pCompositor->m_vWindowFocusHistory[i].lock() == wnd)
@ -263,7 +263,7 @@ std::string clientsRequest(eHyprCtlOutputFormat format, std::string request) {
if (!w->m_bIsMapped && !g_pHyprCtl->m_sCurrentRequestParams.all) if (!w->m_bIsMapped && !g_pHyprCtl->m_sCurrentRequestParams.all)
continue; continue;
result += HyprCtl::getWindowData(w, format); result += CHyprCtl::getWindowData(w, format);
} }
trimTrailingComma(result); trimTrailingComma(result);
@ -274,13 +274,13 @@ std::string clientsRequest(eHyprCtlOutputFormat format, std::string request) {
if (!w->m_bIsMapped && !g_pHyprCtl->m_sCurrentRequestParams.all) if (!w->m_bIsMapped && !g_pHyprCtl->m_sCurrentRequestParams.all)
continue; continue;
result += HyprCtl::getWindowData(w, format); result += CHyprCtl::getWindowData(w, format);
} }
} }
return result; return result;
} }
std::string HyprCtl::getWorkspaceData(PHLWORKSPACE w, eHyprCtlOutputFormat format) { std::string CHyprCtl::getWorkspaceData(PHLWORKSPACE w, eHyprCtlOutputFormat format) {
const auto PLASTW = w->getLastFocusedWindow(); const auto PLASTW = w->getLastFocusedWindow();
const auto PMONITOR = g_pCompositor->getMonitorFromID(w->m_iMonitorID); const auto PMONITOR = g_pCompositor->getMonitorFromID(w->m_iMonitorID);
if (format == eHyprCtlOutputFormat::FORMAT_JSON) { if (format == eHyprCtlOutputFormat::FORMAT_JSON) {
@ -360,7 +360,7 @@ std::string activeWorkspaceRequest(eHyprCtlOutputFormat format, std::string requ
if (!valid(w)) if (!valid(w))
return "internal error"; return "internal error";
return HyprCtl::getWorkspaceData(w, format); return CHyprCtl::getWorkspaceData(w, format);
} }
std::string workspacesRequest(eHyprCtlOutputFormat format, std::string request) { std::string workspacesRequest(eHyprCtlOutputFormat format, std::string request) {
@ -369,7 +369,7 @@ std::string workspacesRequest(eHyprCtlOutputFormat format, std::string request)
if (format == eHyprCtlOutputFormat::FORMAT_JSON) { if (format == eHyprCtlOutputFormat::FORMAT_JSON) {
result += "["; result += "[";
for (auto& w : g_pCompositor->m_vWorkspaces) { for (auto& w : g_pCompositor->m_vWorkspaces) {
result += HyprCtl::getWorkspaceData(w, format); result += CHyprCtl::getWorkspaceData(w, format);
result += ","; result += ",";
} }
@ -377,7 +377,7 @@ std::string workspacesRequest(eHyprCtlOutputFormat format, std::string request)
result += "]"; result += "]";
} else { } else {
for (auto& w : g_pCompositor->m_vWorkspaces) { for (auto& w : g_pCompositor->m_vWorkspaces) {
result += HyprCtl::getWorkspaceData(w, format); result += CHyprCtl::getWorkspaceData(w, format);
} }
} }
@ -410,7 +410,7 @@ std::string activeWindowRequest(eHyprCtlOutputFormat format, std::string request
if (!validMapped(PWINDOW)) if (!validMapped(PWINDOW))
return format == eHyprCtlOutputFormat::FORMAT_JSON ? "{}" : "Invalid"; return format == eHyprCtlOutputFormat::FORMAT_JSON ? "{}" : "Invalid";
auto result = HyprCtl::getWindowData(PWINDOW, format); auto result = CHyprCtl::getWindowData(PWINDOW, format);
if (format == eHyprCtlOutputFormat::FORMAT_JSON) if (format == eHyprCtlOutputFormat::FORMAT_JSON)
result.pop_back(); result.pop_back();

View File

@ -22,6 +22,10 @@ class CHyprCtl {
bool sysInfoConfig = false; bool sysInfoConfig = false;
} m_sCurrentRequestParams; } m_sCurrentRequestParams;
static std::string getWindowData(PHLWINDOW w, eHyprCtlOutputFormat format);
static std::string getWorkspaceData(PHLWORKSPACE w, eHyprCtlOutputFormat format);
static std::string getMonitorData(Hyprutils::Memory::CSharedPointer<CMonitor> m, eHyprCtlOutputFormat format);
private: private:
void startHyprCtlSocket(); void startHyprCtlSocket();
@ -29,11 +33,4 @@ class CHyprCtl {
wl_event_source* m_eventSource = nullptr; wl_event_source* m_eventSource = nullptr;
}; };
namespace HyprCtl {
std::string getWindowData(PHLWINDOW w, eHyprCtlOutputFormat format);
std::string getWorkspaceData(PHLWORKSPACE w, eHyprCtlOutputFormat format);
std::string getMonitorData(Hyprutils::Memory::CSharedPointer<CMonitor> m, eHyprCtlOutputFormat format);
} // namespace HyprCtl
inline std::unique_ptr<CHyprCtl> g_pHyprCtl; inline std::unique_ptr<CHyprCtl> g_pHyprCtl;