Diff
1diff --git a/src/Hy3Layout.cpp b/src/Hy3Layout.cpp
2index bcf84d0a183490c274b08fc0c6805c7b6205e3ea..eb63370834229afba2e8b6001a19f51c0cdd99fc 100644
3--- a/src/Hy3Layout.cpp
4+++ b/src/Hy3Layout.cpp
5@@ -1751,5 +1751,12 @@ void Hy3Layout::updateAtWorkspaces() {
6 }
7
8 bool Hy3Layout::shouldAtWorkspace(int workspace_id) {
9- return this->at_workspaces.empty() || this->at_workspaces.contains(workspace_id);
10+ static const auto* at_workspaces_except
11+ = &HyprlandAPI::getConfigValue(PHANDLE, "plugin:hy3:autotile:workspaces.except")->intValue;
12+
13+ if (*at_workspaces_except) {
14+ return !this->at_workspaces.empty() && !this->at_workspaces.contains(workspace_id);
15+ } else {
16+ return this->at_workspaces.empty() || this->at_workspaces.contains(workspace_id);
17+ }
18 }
19diff --git a/src/main.cpp b/src/main.cpp
20index 138ec7f1ae429cb8a099ccf13259e67542abe32e..55afe9eb6bcda0dc0a5bc996204ae26a6567132c 100644
21--- a/src/main.cpp
22+++ b/src/main.cpp
23@@ -44,6 +44,7 @@ APICALL EXPORT PLUGIN_DESCRIPTION_INFO PLUGIN_INIT(HANDLE handle) {
24 CONF("autotile:trigger_height", int, 0);
25 CONF("autotile:trigger_width", int, 0);
26 CONF("autotile:workspaces", str, "all");
27+ CONF("autotile:workspaces.except", int, 0);
28
29 #undef CONF
30