diff options
Diffstat (limited to 'src/managers/KeybindManager.cpp')
-rw-r--r-- | src/managers/KeybindManager.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/managers/KeybindManager.cpp b/src/managers/KeybindManager.cpp index 2eb04d41..67c2c5d0 100644 --- a/src/managers/KeybindManager.cpp +++ b/src/managers/KeybindManager.cpp @@ -3014,6 +3014,13 @@ SDispatchResult CKeybindManager::setProp(std::string args) { search->second(PWINDOW)->unset(PRIORITY_SET_PROP); else if (const auto V = configStringToInt(VAL); V) *(search->second(PWINDOW)) = CWindowOverridableVar((int)*V, PRIORITY_SET_PROP); + } else if (auto search = g_pConfigManager->mfWindowProperties.find(PROP); search != g_pConfigManager->mfWindowProperties.end()) { + if (VAL == "unset") + search->second(PWINDOW)->unset(PRIORITY_SET_PROP); + else { + const auto V = std::stof(VAL); + *(search->second(PWINDOW)) = CWindowOverridableVar(V, PRIORITY_SET_PROP); + } } else return {.success = false, .error = "Prop not found"}; } catch (std::exception& e) { return {.success = false, .error = std::format("Error parsing prop value: {}", std::string(e.what()))}; } |