diff options
Diffstat (limited to 'mixgtk/mixgtk_wm.c')
-rw-r--r-- | mixgtk/mixgtk_wm.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/mixgtk/mixgtk_wm.c b/mixgtk/mixgtk_wm.c index 2666180..0804cc3 100644 --- a/mixgtk/mixgtk_wm.c +++ b/mixgtk/mixgtk_wm.c @@ -121,10 +121,14 @@ on_view_toggled (GtkCheckMenuItem *item) mixgtk_wm_hide_window (k); } +static gboolean restart_ = FALSE; + void on_split_windows_toggled (GtkCheckMenuItem *item) { mixgtk_config_set_split (item->active); + restart_ = TRUE; + gtk_widget_destroy (mixgtk_widget_factory_get_dialog (MIXGTK_MAIN)); } void @@ -137,3 +141,14 @@ on_window_hide (GtkWidget *w) mixgtk_wm_hide_window (k); } +void +on_main_window_destroy (GtkWidget *w, gpointer data) +{ + if (restart_) + { + restart_ = FALSE; + mixgtk_restart (mixgtk_config_is_split ()); + } + else gtk_main_quit (); +} + |