From eec8caed2701661693b9a413eb762555305b4795 Mon Sep 17 00:00:00 2001 From: Nick Booker Date: Thu, 29 Nov 2012 15:02:52 +0000 Subject: [PATCH 1/2] Added option to keep open in appfinder mode after launch. --- src/appfinder-preferences.c | 4 ++ src/appfinder-preferences.glade | 124 ++++++++++++++++++++++----------------- src/appfinder-window.c | 6 +- 3 files changed, 79 insertions(+), 55 deletions(-) diff --git a/src/appfinder-preferences.c b/src/appfinder-preferences.c index 147ee9c..044b95b 100644 --- a/src/appfinder-preferences.c +++ b/src/appfinder-preferences.c @@ -123,6 +123,10 @@ xfce_appfinder_preferences_init (XfceAppfinderPreferences *preferences) xfconf_g_property_bind (preferences->channel, "/enable-service", G_TYPE_BOOLEAN, G_OBJECT (object), "active"); + object = gtk_builder_get_object (GTK_BUILDER (preferences), "appfinder-stay-open"); + xfconf_g_property_bind (preferences->channel, "/appfinder-stay-open", G_TYPE_BOOLEAN, + G_OBJECT (object), "active"); + icons = gtk_builder_get_object (GTK_BUILDER (preferences), "icon-view"); xfconf_g_property_bind (preferences->channel, "/icon-view", G_TYPE_BOOLEAN, G_OBJECT (icons), "active"); diff --git a/src/appfinder-preferences.glade b/src/appfinder-preferences.glade index f1b6cc3..25976a4 100644 --- a/src/appfinder-preferences.glade +++ b/src/appfinder-preferences.glade @@ -194,6 +160,22 @@ 2 + + + Keep _open after launch in appfinder mode + True + True + False + False + True + True + + + True + True + 3 + + diff --git a/src/appfinder-window.c b/src/appfinder-window.c index 021334a..be819ad 100644 --- a/src/appfinder-window.c +++ b/src/appfinder-window.c @@ -1582,6 +1583,7 @@ xfce_appfinder_window_execute (XfceAppfinderWindow *window) gboolean regular_command = FALSE; gboolean save_cmd; gboolean only_custom_cmd = FALSE; + gboolean stay_open = FALSE; screen = gtk_window_get_screen (GTK_WINDOW (window)); if (gtk_widget_get_visible (window->paned)) @@ -1638,7 +1640,9 @@ xfce_appfinder_window_execute (XfceAppfinderWindow *window) g_error_free (error); } - if (result) + stay_open = xfconf_channel_get_bool (window->channel, "/appfinder-stay-open", TRUE); + + if (result && (!gtk_widget_get_visible (window->paned) || !stay_open)) gtk_widget_destroy (GTK_WIDGET (window)); } -- 1.7.9.5