From 44d46529959e5fbdfa5e2d13717812cf592c5a6b Mon Sep 17 00:00:00 2001 From: nick_m Date: Tue, 10 Mar 2015 02:25:25 +1100 Subject: Introduce theme preference "transients follow front" which, when enabled, sets transient windows to be transients for the front window when switching between the editor and mixer. This is the current behavior on non-osx builds. When disabled, there is no reparenting of transient windows. This is the current behavior on osx. This preference defaults to off. Also fix "all windows are dialogs" checkbox being out of sync with the ui state. --- gtk2_ardour/ardour_ui_dialogs.cc | 8 ++++++-- gtk2_ardour/default_ui_config.in | 1 + gtk2_ardour/theme_manager.cc | 14 ++++++++++++++ gtk2_ardour/theme_manager.h | 2 ++ gtk2_ardour/ui_config_vars.h | 1 + 5 files changed, 24 insertions(+), 2 deletions(-) diff --git a/gtk2_ardour/ardour_ui_dialogs.cc b/gtk2_ardour/ardour_ui_dialogs.cc index d5cbeeef11..e382406eea 100644 --- a/gtk2_ardour/ardour_ui_dialogs.cc +++ b/gtk2_ardour/ardour_ui_dialogs.cc @@ -336,7 +336,9 @@ ARDOUR_UI::goto_editor_window () editor->show_window (); editor->present (); /* mixer should now be on top */ - WM::Manager::instance().set_transient_for (editor); + if (ARDOUR_UI::config()->get_transients_follow_front()) { + WM::Manager::instance().set_transient_for (editor); + } _mixer_on_top = false; } @@ -365,7 +367,9 @@ ARDOUR_UI::goto_mixer_window () mixer->show_window (); mixer->present (); /* mixer should now be on top */ - WM::Manager::instance().set_transient_for (mixer); + if (ARDOUR_UI::config()->get_transients_follow_front()) { + WM::Manager::instance().set_transient_for (mixer); + } _mixer_on_top = true; } diff --git a/gtk2_ardour/default_ui_config.in b/gtk2_ardour/default_ui_config.in index 00dd56a0ec..9c815d6331 100644 --- a/gtk2_ardour/default_ui_config.in +++ b/gtk2_ardour/default_ui_config.in @@ -9,6 +9,7 @@