diff --git a/ui/platform/linux/ui_utility_linux.cpp b/ui/platform/linux/ui_utility_linux.cpp index 66e7b32..dea5ff8 100644 --- a/ui/platform/linux/ui_utility_linux.cpp +++ b/ui/platform/linux/ui_utility_linux.cpp @@ -259,6 +259,15 @@ bool ShowWindowMenu(QWindow *window) { } TitleControls::Layout TitleControlsLayout() { + if (static auto Once = false; !std::exchange(Once, true)) { + const auto integration = base::Platform::GtkIntegration::Instance(); + if (integration && integration->checkVersion(3, 12, 0)) { + integration->connectToSetting( + "gtk-decoration-layout", + NotifyTitleControlsLayoutChanged); + } + } + const auto gtkResult = []() -> std::optional { const auto integration = base::Platform::GtkIntegration::Instance(); if (!integration || !integration->checkVersion(3, 12, 0)) {