From 8c021a47fdc735647136b3b2dc9ebcd739570a10 Mon Sep 17 00:00:00 2001
From: koekeishiya <aasvi93@hotmail.com>
Date: Thu, 4 Apr 2024 01:46:00 +0200
Subject: [PATCH] #2203 implement window scratchpad

---
 src/message.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/message.c b/src/message.c
index e7ef7889..0b042fa8 100644
--- a/src/message.c
+++ b/src/message.c
@@ -2560,8 +2560,13 @@ static bool parse_rule(FILE *rsp, char **message, struct rule *rule, struct toke
             rule->label = string_copy(value);
         } else if (string_equals(key, ARGUMENT_RULE_KEY_SCRATCHPAD)) {
             if (exclusion) unsupported_exclusion = key;
-            rule->effects.scratchpad = string_copy(value);
-            rule->effects.manage = RULE_PROP_OFF;
+            if (!string_equals(value, ARGUMENT_WINDOW_SCRATCHPAD_RECOVER)) {
+                rule->effects.scratchpad = string_copy(value);
+                rule->effects.manage = RULE_PROP_OFF;
+            } else {
+                daemon_fail(rsp, "invalid value '%s' for key '%s'\n", value, key);
+                did_parse = false;
+            }
         } else if (string_equals(key, ARGUMENT_RULE_KEY_APP)) {
             has_filter = true;
             rule->app = string_copy(value);