summaryrefslogtreecommitdiff
path: root/src/config/ConfigManager.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-03-20 16:01:47 +0100
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-03-20 16:01:47 +0100
commit2e18fa268a21727d6c9c302e557a5d0f81fad714 (patch)
treefa0b988ece83b60d19d1d662ac73c7dd0746c734 /src/config/ConfigManager.cpp
parent50370e4216110bed8068ce9b6c1095452cc8456f (diff)
default workspace option
Diffstat (limited to 'src/config/ConfigManager.cpp')
-rw-r--r--src/config/ConfigManager.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp
index a0aa4cdf..17a3232a 100644
--- a/src/config/ConfigManager.cpp
+++ b/src/config/ConfigManager.cpp
@@ -156,6 +156,19 @@ void CConfigManager::handleBind(const std::string& command, const std::string& v
g_pKeybindManager->addKeybind(SKeybind{KEY, MOD, HANDLER, COMMAND});
}
+void CConfigManager::handleDefaultWorkspace(const std::string& command, const std::string& value) {
+
+ const auto DISPLAY = value.substr(0, value.find_first_of(','));
+ const auto WORKSPACEID = stoi(value.substr(value.find_first_of(',') + 1));
+
+ for (auto& mr : m_dMonitorRules) {
+ if (mr.name == DISPLAY) {
+ mr.defaultWorkspaceID = WORKSPACEID;
+ break;
+ }
+ }
+}
+
void CConfigManager::parseLine(std::string& line) {
// first check if its not a comment
const auto COMMENTSTART = line.find_first_of('#');
@@ -207,9 +220,11 @@ void CConfigManager::parseLine(std::string& line) {
} else if (COMMAND == "bind") {
handleBind(COMMAND, VALUE);
return;
+ } else if (COMMAND == "workspace") {
+ handleDefaultWorkspace(COMMAND, VALUE);
+ return;
}
-
configSetValueSafe(currentCategory + (currentCategory == "" ? "" : ":") + COMMAND, VALUE);
}