From eb1292ea994301c312e499bf657e1c3ee4dc843e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sat, 14 Jul 2012 00:22:51 +0200 Subject: [PATCH] window: Handle changes of the attach-modal-dialogs preference Currently we decide whether a modal dialog should be attached or not when mapping it, i.e. we don't pick up preference changes that happen while the dialog is up. It's not really a big deal given that modal dialogs are usually transitory, but it's easy enough to add a bit of extra polish ... https://bugzilla.gnome.org/show_bug.cgi?id=679904 --- src/core/window.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/core/window.c b/src/core/window.c index c11720b08..93422aa1a 100644 --- a/src/core/window.c +++ b/src/core/window.c @@ -198,12 +198,18 @@ prefs_changed_callback (MetaPreference pref, { MetaWindow *window = data; - if (pref != META_PREF_WORKSPACES_ONLY_ON_PRIMARY) - return; - - meta_window_update_on_all_workspaces (window); - - meta_window_queue (window, META_QUEUE_CALC_SHOWING); + if (pref == META_PREF_WORKSPACES_ONLY_ON_PRIMARY) + { + meta_window_update_on_all_workspaces (window); + meta_window_queue (window, META_QUEUE_CALC_SHOWING); + } + else if (pref == META_PREF_ATTACH_MODAL_DIALOGS && + window->type == META_WINDOW_MODAL_DIALOG) + { + window->attached = meta_window_should_attach_to_parent (window); + recalc_window_features (window); + meta_window_queue (window, META_QUEUE_MOVE_RESIZE); + } } static void