summaryrefslogtreecommitdiff
path: root/src/helpers/MiscFunctions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/helpers/MiscFunctions.cpp')
-rw-r--r--src/helpers/MiscFunctions.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/helpers/MiscFunctions.cpp b/src/helpers/MiscFunctions.cpp
index 706bb31e..37828c5d 100644
--- a/src/helpers/MiscFunctions.cpp
+++ b/src/helpers/MiscFunctions.cpp
@@ -244,6 +244,13 @@ int getWorkspaceIDFromString(const std::string& in, std::string& outName) {
result = WORKSPACE->m_iID;
}
outName = WORKSPACENAME;
+ } else if (in.find("empty") == 0) {
+ int id = 0;
+ while (++id < INT_MAX) {
+ const auto PWORKSPACE = g_pCompositor->getWorkspaceByID(id);
+ if (!PWORKSPACE || (g_pCompositor->getWindowsOnWorkspace(id) == 0))
+ return id;
+ }
} else {
if ((in[0] == 'm' || in[0] == 'e') && (in[1] == '-' || in[1] == '+') && isNumber(in.substr(2))) {
bool onAllMonitors = in[0] == 'e';
@@ -485,4 +492,4 @@ int64_t configStringToInt(const std::string& VALUE) {
return 0;
}
return stol(VALUE);
-} \ No newline at end of file
+}