[Xfce4-commits] <xfce4-settings:nick/xsettingsd-merge> Remove the autostart desktop file altering.
Nick Schermer
noreply at xfce.org
Wed Feb 23 19:58:02 CET 2011
Updating branch refs/heads/nick/xsettingsd-merge
to 82d3de1bd0ecf15dc112d6bd81bd1567943425c5 (commit)
from 37fe800ab440229695401844723ae62f8e253727 (commit)
commit 82d3de1bd0ecf15dc112d6bd81bd1567943425c5
Author: Nick Schermer <nick at xfce.org>
Date: Wed Feb 23 19:53:38 2011 +0100
Remove the autostart desktop file altering.
This is not foolproof anyway and the daemon can handle 2
spawns without any problems too, so drop this.
Also set a better priority for the session and register the
desktop file.
Make the desktop file name key translatable too.
po/POTFILES.in | 1 +
xfsettingsd/Makefile.am | 9 +++-
xfsettingsd/main.c | 51 +++-----------------
...sd-autostart.desktop => xfsettingsd.desktop.in} | 3 +-
4 files changed, 17 insertions(+), 47 deletions(-)
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 4076595..5b20f61 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -35,6 +35,7 @@ xfsettingsd/keyboard-shortcuts.c
xfsettingsd/main.c
xfsettingsd/workspaces.c
xfsettingsd/xsettings.c
+xfsettingsd/xfsettingsd-autostart.desktop.in
xfce4-settings-manager/main.c
xfce4-settings-manager/xfce-settings-manager-dialog.c
diff --git a/xfsettingsd/Makefile.am b/xfsettingsd/Makefile.am
index 9e22d10..2d69bd6 100644
--- a/xfsettingsd/Makefile.am
+++ b/xfsettingsd/Makefile.am
@@ -5,9 +5,9 @@ INCLUDES = \
-DDATADIR=\"$(datadir)\" \
-DBINDIR=\"$(bindir)\" \
-DSRCDIR=\"$(top_srcdir)\" \
+ -DSYSCONFIGDIR=\"$(sysconfdir)\" \
-DLOCALEDIR=\"$(localedir)\" \
-DG_LOG_DOMAIN=\"xfsettingsd\" \
- -DAUTOSTART_FILENAME=\"$(autostart_DATA)\" \
$(PLATFORM_CPPFLAGS)
bin_PROGRAMS = \
@@ -90,10 +90,15 @@ settingsdir = $(sysconfdir)/xdg/xfce4/xfconf/xfce-perchannel-xml
settings_DATA = xsettings.xml
autostartdir = $(sysconfdir)/xdg/autostart
-autostart_DATA = xfsettingsd-autostart.desktop
+autostart_in_files = xfsettingsd.desktop.in
+autostart_DATA = $(autostart_in_files:.desktop.in=.desktop)
+ at INTLTOOL_DESKTOP_RULE@
EXTRA_DIST = \
$(settings_DATA) \
+ $(autostart_in_files)
+
+DISTCLEANFILES = \
$(autostart_DATA)
# vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
diff --git a/xfsettingsd/main.c b/xfsettingsd/main.c
index be32fb5..fb5a2f3 100644
--- a/xfsettingsd/main.c
+++ b/xfsettingsd/main.c
@@ -63,7 +63,8 @@
#include "displays.h"
#endif
-#define HELPER_DBUS_NAME "org.xfce.SettingsDaemon"
+#define XFSETTINGS_DBUS_NAME ("org.xfce.SettingsDaemon")
+#define XFSETTINGS_DESKTOP_FILE (SYSCONFIGDIR "/xdg/autostart/xfsettingsd.desktop")
static XfceSMClient *sm_client = NULL;
@@ -91,47 +92,12 @@ signal_handler (gint signum,
-static gboolean
-xfce_settings_helper_set_autostart_enabled (gboolean enabled)
-{
- gboolean ret = TRUE;
- XfceRc *rcfile = xfce_rc_config_open (XFCE_RESOURCE_CONFIG,
- "autostart/" AUTOSTART_FILENAME,
- FALSE);
-
- if (G_UNLIKELY (rcfile == NULL))
- {
- g_warning ("Failed to create per-user autostart directory");
- return FALSE;
- }
-
- xfce_rc_set_group (rcfile, "Desktop Entry");
- if (xfce_rc_read_bool_entry (rcfile, "Hidden", enabled) == enabled)
- {
- xfce_rc_write_bool_entry (rcfile, "Hidden", !enabled);
- xfce_rc_flush (rcfile);
- }
-
- if (xfce_rc_is_dirty (rcfile))
- {
- g_warning ("Failed to write autostart file");
- ret = FALSE;
- }
-
- xfce_rc_close (rcfile);
-
- return ret;
-}
-
-
-
gint
main (gint argc, gchar **argv)
{
XfceClipboardManager *clipboard_daemon;
GError *error = NULL;
GOptionContext *context;
- gboolean in_session;
GObject *pointer_helper;
GObject *keyboards_helper;
GObject *accessibility_helper;
@@ -176,7 +142,7 @@ main (gint argc, gchar **argv)
if (G_UNLIKELY (opt_version))
{
g_print ("%s %s (Xfce %s)\n\n", G_LOG_DOMAIN, PACKAGE_VERSION, xfce_version_string ());
- g_print ("%s\n", "Copyright (c) 2008-2012");
+ g_print ("%s\n", "Copyright (c) 2008-2011");
g_print ("\t%s\n\n", _("The Xfce development team. All rights reserved."));
g_print (_("Please report bugs to <%s>."), PACKAGE_BUGREPORT);
g_print ("\n");
@@ -187,7 +153,7 @@ main (gint argc, gchar **argv)
dbus_connection = dbus_bus_get (DBUS_BUS_SESSION, NULL);
if (G_LIKELY (dbus_connection != NULL))
{
- result = dbus_bus_request_name (dbus_connection, HELPER_DBUS_NAME, DBUS_NAME_FLAG_DO_NOT_QUEUE, NULL);
+ result = dbus_bus_request_name (dbus_connection, XFSETTINGS_DBUS_NAME, DBUS_NAME_FLAG_DO_NOT_QUEUE, NULL);
if (result != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER)
{
g_printerr (G_LOG_DOMAIN ": %s\n", "Another instance is already running. Leaving...");
@@ -212,6 +178,8 @@ main (gint argc, gchar **argv)
* session manager won't wait for us to time out. */
sm_client = xfce_sm_client_get ();
xfce_sm_client_set_restart_style (sm_client, XFCE_SM_CLIENT_RESTART_IMMEDIATELY);
+ xfce_sm_client_set_desktop_file (sm_client, XFSETTINGS_DESKTOP_FILE);
+ xfce_sm_client_set_priority (sm_client, XFCE_SM_CLIENT_PRIORITY_CORE);
g_signal_connect (G_OBJECT (sm_client), "quit", G_CALLBACK (gtk_main_quit), NULL);
if (!xfce_sm_client_connect (sm_client, &error) && error)
{
@@ -219,11 +187,6 @@ main (gint argc, gchar **argv)
g_clear_error (&error);
}
- /* if this instance is started from a saved session, disable autostart so
- * the helper is not spawned twice */
- in_session = xfce_sm_client_is_resumed (sm_client);
- xfce_settings_helper_set_autostart_enabled (in_session);
-
/* daemonize the process */
if (!opt_no_daemon)
{
@@ -276,7 +239,7 @@ main (gint argc, gchar **argv)
/* release the dbus name */
if (dbus_connection != NULL)
- dbus_bus_release_name (dbus_connection, HELPER_DBUS_NAME, NULL);
+ dbus_bus_release_name (dbus_connection, XFSETTINGS_DBUS_NAME, NULL);
/* release the sub daemons */
#ifdef HAVE_XRANDR
diff --git a/xfsettingsd/xfsettingsd-autostart.desktop b/xfsettingsd/xfsettingsd.desktop.in
similarity index 68%
rename from xfsettingsd/xfsettingsd-autostart.desktop
rename to xfsettingsd/xfsettingsd.desktop.in
index f134865..d4be1d2 100644
--- a/xfsettingsd/xfsettingsd-autostart.desktop
+++ b/xfsettingsd/xfsettingsd.desktop.in
@@ -1,7 +1,8 @@
[Desktop Entry]
Version=1.0
-Name=Xfce Settings Daemon
+_Name=Xfce Settings Daemon
Exec=xfsettingsd
+Icon=applications-system
Terminal=false
Type=Application
StartupNotify=false
More information about the Xfce4-commits
mailing list