95d7fdb67c7c65f4d874748af2a1c323d58d5804

Author
André Silva <andrerfosilva@gmail.com>
Committer
André Silva <andrerfosilva@gmail.com>
Date

Message

autotile: allow defining workspaces where autotiling isn't enabled

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