summaryrefslogtreecommitdiff
path: root/settings/main.c
diff options
context:
space:
mode:
authorNick Schermer <nick@xfce.org>2012-03-25 13:38:32 +0200
committerNick Schermer <nick@xfce.org>2012-03-26 17:36:48 +0200
commit0fea8c64bfc32915d9e397e7029de150167a737d (patch)
tree9398faeebc2f5f975e3bcf916b3a3b124a47a571 /settings/main.c
parent19a41033ea3563d961736a9bc803c8682664af53 (diff)
downloadxfce4-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.c27
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"));