config/hyprctl: fix keyword not updating autoreload

ref #9139
This commit is contained in:
vaxerski
2025-01-29 10:50:39 +00:00
parent 344e32d71b
commit aaa5573c73
3 changed files with 10 additions and 2 deletions

View File

@@ -912,12 +912,16 @@ std::optional<std::string> CConfigManager::resetHLConfig() {
return RET;
}
void CConfigManager::updateWatcher() {
static const auto PDISABLEAUTORELOAD = CConfigValue<Hyprlang::INT>("misc:disable_autoreload");
g_pConfigWatcher->setWatchList(*PDISABLEAUTORELOAD ? std::vector<std::string>{} : m_configPaths);
}
void CConfigManager::postConfigReload(const Hyprlang::CParseResult& result) {
static const auto PENABLEEXPLICIT = CConfigValue<Hyprlang::INT>("render:explicit_sync");
static const auto PDISABLEAUTORELOAD = CConfigValue<Hyprlang::INT>("misc:disable_autoreload");
static int prevEnabledExplicit = *PENABLEEXPLICIT;
g_pConfigWatcher->setWatchList(*PDISABLEAUTORELOAD ? std::vector<std::string>{} : m_configPaths);
updateWatcher();
for (auto const& w : g_pCompositor->m_vWindows) {
w->uncacheWindowDecos();

View File

@@ -190,6 +190,7 @@ class CConfigManager {
void ensureVRR(PHLMONITOR pMonitor = nullptr);
bool shouldUseSoftwareCursors();
void updateWatcher();
std::string parseKeyword(const std::string&, const std::string&);

View File

@@ -1100,6 +1100,9 @@ static std::string dispatchKeyword(eHyprCtlOutputFormat format, std::string in)
}
}
if (COMMAND.contains("misc:disable_autoreload"))
g_pConfigManager->updateWatcher();
// decorations will probably need a repaint
if (COMMAND.contains("decoration:") || COMMAND.contains("border") || COMMAND == "workspace" || COMMAND.contains("zoom_factor") || COMMAND == "source" ||
COMMAND.starts_with("windowrule")) {