davidedmundson added a comment.
As for runtime changes I'm trying to migrate more things to KConfigWatcher which I wrote to replace random ad-hoc ints everywhere as well as making sure we automatically reparse the config once and only once. It's going to be /amazing/ but it's being rolled out as a slow migration, so there's nothing wrong with merging this as-is and migrating later. m_animationSpeedWatcher = KConfigWatcher::create(KSharedConfig::openConfig()); connect(m_animationSpeedWatcher.data(), &KConfigWatcher::configChanged, this, [this](const KConfigGroup &group, const QByteArrayList &names) { if (group.name() == QLatin1String("KDE") && names.contains(QByteArrayLiteral("AnimationDurationFactor"))) { loadGlobalAnimationSettings(); } }); REPOSITORY R31 Breeze REVISION DETAIL https://phabricator.kde.org/D28651 To: sandsmark, #breeze Cc: davidedmundson, ngraham, hpereiradacosta, ndavis, plasma-devel, #breeze, Orage, LeGast00n, The-Feren-OS-Dev, cblack, jraleigh, zachus, fbampaloukas, GB_2, trickyricky26, ragreen, ZrenBot, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart