From 0fea8c64bfc32915d9e397e7029de150167a737d Mon Sep 17 00:00:00 2001 From: Nick Schermer Date: Sun, 25 Mar 2012 13:38:32 +0200 Subject: Show all applications in autostart (bug #8014). Show also non-XFCE applications in the autostart list but do no enable them. If OnlyShowIn does not list XFCE, show it cursive in the list and set X-XFCE-Autostart-Override=true when toggled. This way we don't alter the Hidden and OnlyShowIn keys for other environments. If X-XFCE-Autostart-Override is true, skip the OnlyShowIn check and try to start it (unless Hidden is set etcetc). --- settings/main.c | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'settings/main.c') diff --git a/settings/main.c b/settings/main.c index b831acd8..31a68152 100644 --- a/settings/main.c +++ b/settings/main.c @@ -63,6 +63,7 @@ main(int argc, GtkBuilder *builder; GtkWidget *notebook, *xfae_page, *lbl; GError *error = NULL; + XfconfChannel *channel; xfce_textdomain(GETTEXT_PACKAGE, LOCALEDIR, "UTF-8"); @@ -117,7 +118,6 @@ main(int argc, return EXIT_FAILURE; } - startup_settings_init(builder); splash_settings_init(builder); session_editor_init(builder); @@ -129,6 +129,31 @@ main(int argc, gtk_widget_show(lbl); gtk_notebook_insert_page(GTK_NOTEBOOK(notebook), xfae_page, lbl, 2); + channel = xfconf_channel_get(SETTINGS_CHANNEL); + + /* bind widgets to xfconf */ + xfconf_g_property_bind(channel, "/chooser/AlwaysDisplay", G_TYPE_BOOLEAN, + gtk_builder_get_object(builder, "chk_display_chooser"), + "active"); + xfconf_g_property_bind(channel, "/general/AutoSave", G_TYPE_BOOLEAN, + gtk_builder_get_object(builder, "chk_session_autosave"), + "active"); + xfconf_g_property_bind(channel, "/general/PromptOnLogout", G_TYPE_BOOLEAN, + gtk_builder_get_object(builder, "chk_logout_prompt"), + "active"); + xfconf_g_property_bind(channel, "/compat/LaunchGNOME", G_TYPE_BOOLEAN, + gtk_builder_get_object(builder, "chk_compat_gnome"), + "active"); + xfconf_g_property_bind(channel, "/compat/LaunchKDE", G_TYPE_BOOLEAN, + gtk_builder_get_object(builder, "chk_compat_kde"), + "active"); + xfconf_g_property_bind(channel, "/security/EnableTcp", G_TYPE_BOOLEAN, + gtk_builder_get_object(builder, "chk_enable_tcp"), + "active"); + xfconf_g_property_bind(channel, "/shutdown/LockScreen", G_TYPE_BOOLEAN, + gtk_builder_get_object(builder, "chk_lock_screen"), + "active"); + if(G_UNLIKELY(opt_socket_id == 0)) { GtkWidget *dialog = GTK_WIDGET(gtk_builder_get_object(builder, "xfce4_session_settings_dialog")); -- cgit v1.2.1