diff options
author | Nick Schermer <nick@xfce.org> | 2012-03-25 13:38:32 +0200 |
---|---|---|
committer | Nick Schermer <nick@xfce.org> | 2012-03-26 17:36:48 +0200 |
commit | 0fea8c64bfc32915d9e397e7029de150167a737d (patch) | |
tree | 9398faeebc2f5f975e3bcf916b3a3b124a47a571 /settings/main.c | |
parent | 19a41033ea3563d961736a9bc803c8682664af53 (diff) | |
download | xfce4-session-0fea8c64bfc32915d9e397e7029de150167a737d.tar.gz |
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).
Diffstat (limited to 'settings/main.c')
-rw-r--r-- | settings/main.c | 27 |
1 files changed, 26 insertions, 1 deletions
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")); |