summaryrefslogtreecommitdiffhomepage
path: root/mixgtk/mixgtk_wm.c
diff options
context:
space:
mode:
Diffstat (limited to 'mixgtk/mixgtk_wm.c')
-rw-r--r--mixgtk/mixgtk_wm.c15
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 ();
+}
+