summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2011-06-20 13:21:35 -0400
committerRay Strode <rstrode@redhat.com>2011-06-20 14:51:57 -0400
commit48705abd751e6e2f1d20b51098e1b97d74855338 (patch)
treed054000bb7e5bbd25052e51f5c30b52265fc051e
parent9dc3288686e2884befdc20e753f3963c402117c9 (diff)
downloadgdm-48705abd751e6e2f1d20b51098e1b97d74855338.tar.gz
daemon: use gnome-session session files instead of autostart
Before we were doing some sort of weird hybrid thing with a session file and an autostart directory that wasn't that much different than just having an autostart directory by itself. Now we fully define the session component list from the session file, and merely provide a pool of new candidate desktop files to select that sessoin from. This modernizes how we use gnome-session and as a side-effect enables us the ability to have fallback sessions (which will be important when defaulting to a shell based greeter later).
-rw-r--r--configure.ac3
-rw-r--r--daemon/gdm-greeter-session.c2
-rw-r--r--daemon/gdm-welcome-session.c13
-rw-r--r--data/Makefile.am9
-rw-r--r--data/applications/Makefile.am38
-rw-r--r--data/applications/gdm-simple-greeter.desktop.in.in (renamed from data/greeter-autostart/gdm-simple-greeter.desktop.in.in)1
-rw-r--r--data/applications/gnome-mag.desktop.in (renamed from data/greeter-autostart/gnome-mag.desktop.in)1
-rw-r--r--data/applications/gok.desktop.in (renamed from data/greeter-autostart/gok.desktop.in)1
-rw-r--r--data/applications/mime-dummy-handler.desktop (renamed from data/mime-dummy-handler.desktop)0
-rw-r--r--data/applications/mimeapps.list (renamed from data/mimeapps.list)0
-rw-r--r--data/gdm.session2
-rw-r--r--data/greeter-autostart/Makefile.am51
-rw-r--r--data/greeter-autostart/at-spi-registryd-wrapper.desktop.in.in8
-rw-r--r--data/greeter-autostart/gnome-power-manager.desktop.in.in14
-rw-r--r--data/greeter-autostart/gnome-session-check-accelerated.desktop.in.in6
-rw-r--r--data/greeter-autostart/gnome-settings-daemon.desktop.in.in9
-rw-r--r--data/greeter-autostart/metacity.desktop.in19
-rw-r--r--data/greeter-autostart/orca-screen-reader.desktop.in16
-rw-r--r--data/greeter-autostart/polkit-gnome-authentication-agent-1.desktop.in.in5
19 files changed, 54 insertions, 144 deletions
diff --git a/configure.ac b/configure.ac
index 78887807..394d1759 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1439,8 +1439,7 @@ gui/simple-chooser/Makefile
utils/Makefile
data/gdm.conf
data/Makefile
-data/greeter-autostart/Makefile
-data/greeter-autostart/at-spi-registryd-wrapper.desktop.in
+data/applications/Makefile
data/pixmaps/Makefile
data/pixmaps/16x16/Makefile
data/pixmaps/32x32/Makefile
diff --git a/daemon/gdm-greeter-session.c b/daemon/gdm-greeter-session.c
index 39f15280..d0b1b943 100644
--- a/daemon/gdm-greeter-session.c
+++ b/daemon/gdm-greeter-session.c
@@ -78,7 +78,7 @@ gdm_greeter_session_new (const char *display_name,
GObject *object;
object = g_object_new (GDM_TYPE_GREETER_SESSION,
- "command", BINDIR "/gnome-session --session gdm --autostart="DATADIR"/gdm/autostart/LoginWindow/",
+ "command", BINDIR "/gnome-session --session gdm",
"server-dbus-path", GDM_GREETER_SERVER_DBUS_PATH,
"server-dbus-interface", GDM_GREETER_SERVER_DBUS_INTERFACE,
"server-env-var-name", "GDM_GREETER_DBUS_ADDRESS",
diff --git a/daemon/gdm-welcome-session.c b/daemon/gdm-welcome-session.c
index d1990c9e..04b3d077 100644
--- a/daemon/gdm-welcome-session.c
+++ b/daemon/gdm-welcome-session.c
@@ -357,6 +357,7 @@ get_welcome_environment (GdmWelcomeSession *welcome_session,
"LC_IDENTIFICATION", "LC_ALL", "WINDOWPATH",
NULL
};
+ char *system_data_dirs;
int i;
load_lang_config_file (LANG_CONFIG_FILE,
@@ -376,6 +377,15 @@ get_welcome_environment (GdmWelcomeSession *welcome_session,
g_strdup (g_getenv (optional_environment[i])));
}
+ system_data_dirs = g_strjoinv (":", (char **) g_get_system_data_dirs ());
+
+ g_hash_table_insert (hash,
+ g_strdup ("XDG_DATA_DIRS"),
+ g_strdup_printf ("%s:%s",
+ DATADIR "/gdm/greeter",
+ system_data_dirs));
+ g_free (system_data_dirs);
+
if (welcome_session->priv->dbus_bus_address != NULL) {
g_hash_table_insert (hash,
g_strdup ("DBUS_SESSION_BUS_ADDRESS"),
@@ -383,8 +393,7 @@ get_welcome_environment (GdmWelcomeSession *welcome_session,
}
if (welcome_session->priv->server_address != NULL) {
g_assert (welcome_session->priv->server_env_var_name != NULL);
- g_hash_table_insert (hash,
- g_strdup (welcome_session->priv->server_env_var_name),
+ g_hash_table_insert (hash, g_strdup (welcome_session->priv->server_env_var_name),
g_strdup (welcome_session->priv->server_address));
}
diff --git a/data/Makefile.am b/data/Makefile.am
index d5632889..67c97b42 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -1,7 +1,7 @@
NULL =
SUBDIRS = \
- greeter-autostart \
+ applications \
pixmaps \
$(NULL)
@@ -98,8 +98,6 @@ EXTRA_DIST = \
session-setup.entries \
make-dconf-override-db.sh \
dconf-profile \
- mime-dummy-handler.desktop \
- mimeapps.list \
$(NULL)
CLEANFILES = \
@@ -139,8 +137,6 @@ uninstall-hook:
$(DESTDIR)$(PAM_PREFIX)/pam.d/gdm \
$(DESTDIR)$(PAM_PREFIX)/pam.d/gdm-autologin \
$(DESTDIR)$(workingdir)/.gconf.path \
- $(DESTDIR)$(workingdir)/.local/share/applications/mime-dummy-handler.desktop \
- $(DESTDIR)$(workingdir)/.local/share/applications/mimeapps.list \
$(DESTDIR)$(sysconfdir)/dconf/db/gdm \
$(DESTDIR)$(sysconfdir)/dconf/profile/gdm \
-rf \
@@ -284,6 +280,3 @@ install-data-hook: gdm.conf-custom Xsession Init PostSession PreSession gconf.pa
$(INSTALL_DATA) $(srcdir)/dconf-override-db $(DESTDIR)$(sysconfdir)/dconf/db/gdm
$(INSTALL_DATA) $(srcdir)/dconf-profile $(DESTDIR)$(sysconfdir)/dconf/profile/gdm
-
- $(INSTALL_DATA) $(srcdir)/mime-dummy-handler.desktop $(DESTDIR)$(workingdir)/.local/share/applications/mime-dummy-handler.desktop
- $(INSTALL_DATA) $(srcdir)/mimeapps.list $(DESTDIR)$(workingdir)/.local/share/applications/mimeapps.list
diff --git a/data/applications/Makefile.am b/data/applications/Makefile.am
new file mode 100644
index 00000000..cdaf80a9
--- /dev/null
+++ b/data/applications/Makefile.am
@@ -0,0 +1,38 @@
+NULL =
+
+edit = sed \
+ -e 's|@SBINDIR[@]|$(sbindir)|g' \
+ -e 's|@SYSCONFDIR[@]|$(sysconfdir)|g' \
+ -e 's|@LIBDIR[@]|$(libdir)|g' \
+ -e 's|@LIBEXECDIR[@]|$(libexecdir)|g' \
+ -e 's|@LOCALSTATEDIR[@]|$(localstatedir)|g'
+
+%.desktop.in: %.desktop.in.in Makefile
+ $(edit) $< >$@
+
+@INTLTOOL_DESKTOP_RULE@
+desktopdir = $(pkgdatadir)/greeter/applications
+desktop_in_files = \
+ gdm-simple-greeter.desktop.in \
+ gnome-mag.desktop.in \
+ gok.desktop.in \
+ orca-screen-reader.desktop.in \
+ $(NULL)
+desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) \
+ mime-dummy-handler.desktop \
+ mimeapps.list \
+ $(NULL)
+
+EXTRA_DIST = \
+ gdm-simple-greeter.desktop.in.in \
+ $(desktop_in_files) \
+ $(NULL)
+
+DISTCLEANFILES = \
+ $(desktop_DATA) \
+ gdm-simple-greeter.desktop.in \
+ $(NULL)
+
+MAINTAINERCLEANFILES = \
+ *~ \
+ Makefile.in
diff --git a/data/greeter-autostart/gdm-simple-greeter.desktop.in.in b/data/applications/gdm-simple-greeter.desktop.in.in
index e33a5ba9..e6b1dbfd 100644
--- a/data/greeter-autostart/gdm-simple-greeter.desktop.in.in
+++ b/data/applications/gdm-simple-greeter.desktop.in.in
@@ -6,3 +6,4 @@ OnlyShowIn=GNOME;
X-GNOME-Autostart-Phase=Application
X-GNOME-Autostart-Notify=true
X-GNOME-AutoRestart=true
+NoDisplay=true
diff --git a/data/greeter-autostart/gnome-mag.desktop.in b/data/applications/gnome-mag.desktop.in
index bbf7adcf..6bb5c0f5 100644
--- a/data/greeter-autostart/gnome-mag.desktop.in
+++ b/data/applications/gnome-mag.desktop.in
@@ -12,4 +12,3 @@ X-GNOME-Provides=screen-magnifier
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gnome-mag
X-GNOME-Bugzilla-Component=general
-
diff --git a/data/greeter-autostart/gok.desktop.in b/data/applications/gok.desktop.in
index 04888e22..61063f7a 100644
--- a/data/greeter-autostart/gok.desktop.in
+++ b/data/applications/gok.desktop.in
@@ -12,4 +12,3 @@ X-GNOME-Provides=screen-keyboard
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gok
X-GNOME-Bugzilla-Component=general
-
diff --git a/data/mime-dummy-handler.desktop b/data/applications/mime-dummy-handler.desktop
index c94779c6..c94779c6 100644
--- a/data/mime-dummy-handler.desktop
+++ b/data/applications/mime-dummy-handler.desktop
diff --git a/data/mimeapps.list b/data/applications/mimeapps.list
index db3a144d..db3a144d 100644
--- a/data/mimeapps.list
+++ b/data/applications/mimeapps.list
diff --git a/data/gdm.session b/data/gdm.session
index 2a74640c..1f0da4d6 100644
--- a/data/gdm.session
+++ b/data/gdm.session
@@ -1,5 +1,5 @@
[GNOME Session]
Name=Display Manager
-RequiredComponents=gdm-simple-greeter;gnome-settings-daemon;polkit-gnome-authentication-agent-1;
+RequiredComponents=gdm-simple-greeter;gnome-settings-daemon;
RequiredProviders=windowmanager;
DefaultProvider-windowmanager=metacity
diff --git a/data/greeter-autostart/Makefile.am b/data/greeter-autostart/Makefile.am
deleted file mode 100644
index a7a06d04..00000000
--- a/data/greeter-autostart/Makefile.am
+++ /dev/null
@@ -1,51 +0,0 @@
-NULL =
-
-edit = sed \
- -e 's|@SBINDIR[@]|$(sbindir)|g' \
- -e 's|@SYSCONFDIR[@]|$(sysconfdir)|g' \
- -e 's|@LIBDIR[@]|$(libdir)|g' \
- -e 's|@LIBEXECDIR[@]|$(libexecdir)|g' \
- -e 's|@LOCALSTATEDIR[@]|$(localstatedir)|g'
-
-%.desktop.in: %.desktop.in.in Makefile
- $(edit) $< >$@
-
-@INTLTOOL_DESKTOP_RULE@
-desktopdir = $(pkgdatadir)/autostart/LoginWindow
-desktop_in_files = \
- at-spi-registryd-wrapper.desktop.in \
- gdm-simple-greeter.desktop.in \
- gnome-mag.desktop.in \
- gnome-power-manager.desktop.in \
- gnome-settings-daemon.desktop.in \
- gok.desktop.in \
- metacity.desktop.in \
- orca-screen-reader.desktop.in \
- polkit-gnome-authentication-agent-1.desktop.in \
- gnome-session-check-accelerated.desktop.in \
- $(NULL)
-desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
-
-EXTRA_DIST = \
- at-spi-registryd-wrapper.desktop.in.in \
- gdm-simple-greeter.desktop.in.in \
- gnome-power-manager.desktop.in.in \
- gnome-settings-daemon.desktop.in.in \
- polkit-gnome-authentication-agent-1.desktop.in.in \
- gnome-session-check-accelerated.desktop.in.in \
- $(desktop_in_files) \
- $(NULL)
-
-DISTCLEANFILES = \
- *.desktop \
- at-spi-registryd-wrapper.desktop.in \
- gdm-simple-greeter.desktop.in \
- gnome-power-manager.desktop.in \
- gnome-settings-daemon.desktop.in \
- polkit-gnome-authentication-agent-1.desktop.in \
- gnome-session-check-accelerated.desktop.in \
- $(NULL)
-
-MAINTAINERCLEANFILES = \
- *~ \
- Makefile.in
diff --git a/data/greeter-autostart/at-spi-registryd-wrapper.desktop.in.in b/data/greeter-autostart/at-spi-registryd-wrapper.desktop.in.in
deleted file mode 100644
index d511e00c..00000000
--- a/data/greeter-autostart/at-spi-registryd-wrapper.desktop.in.in
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Type=Application
-_Name=AT-SPI Registry Wrapper
-Exec=@AT_SPI_REGISTRYD_DIR@/at-spi-registryd
-OnlyShowIn=GNOME;
-AutostartCondition=GNOME /desktop/gnome/interface/accessibility
-X-GNOME-Autostart-Phase=Initialization
-X-GNOME-AutoRestart=true
diff --git a/data/greeter-autostart/gnome-power-manager.desktop.in.in b/data/greeter-autostart/gnome-power-manager.desktop.in.in
deleted file mode 100644
index ee901309..00000000
--- a/data/greeter-autostart/gnome-power-manager.desktop.in.in
+++ /dev/null
@@ -1,14 +0,0 @@
-[Desktop Entry]
-_Name=Power Manager
-_Comment=Power management daemon
-Icon=gnome-power-manager
-Exec=gnome-power-manager
-Terminal=false
-Type=Application
-Categories=
-OnlyShowIn=GNOME;XFCE;
-X-GNOME-Bugzilla-Bugzilla=GNOME
-X-GNOME-Bugzilla-Product=gnome-power-manager
-X-GNOME-Bugzilla-Component=gnome-power-manager
-X-GNOME-Bugzilla-Version=@VERSION@
-X-GNOME-Bugzilla-ExtraInfoScript=gnome-power-bugreport.sh
diff --git a/data/greeter-autostart/gnome-session-check-accelerated.desktop.in.in b/data/greeter-autostart/gnome-session-check-accelerated.desktop.in.in
deleted file mode 100644
index f4df5b64..00000000
--- a/data/greeter-autostart/gnome-session-check-accelerated.desktop.in.in
+++ /dev/null
@@ -1,6 +0,0 @@
-[Desktop Entry]
-Type=Application
-_Name=GNOME Session Acceleration Checker
-TryExec=@LIBEXECDIR@/gnome-session-check-accelerated
-Exec=@LIBEXECDIR@/gnome-session-check-accelerated
-X-GNOME-Autostart-Phase=Application
diff --git a/data/greeter-autostart/gnome-settings-daemon.desktop.in.in b/data/greeter-autostart/gnome-settings-daemon.desktop.in.in
deleted file mode 100644
index 324da223..00000000
--- a/data/greeter-autostart/gnome-settings-daemon.desktop.in.in
+++ /dev/null
@@ -1,9 +0,0 @@
-[Desktop Entry]
-Type=Application
-_Name=GNOME Settings Daemon
-TryExec=@LIBEXECDIR@/gnome-settings-daemon
-Exec=@LIBEXECDIR@/gnome-settings-daemon
-OnlyShowIn=GNOME;
-X-GNOME-Autostart-Phase=Initialization
-X-GNOME-Autostart-Notify=true
-X-GNOME-AutoRestart=true
diff --git a/data/greeter-autostart/metacity.desktop.in b/data/greeter-autostart/metacity.desktop.in
deleted file mode 100644
index c195d863..00000000
--- a/data/greeter-autostart/metacity.desktop.in
+++ /dev/null
@@ -1,19 +0,0 @@
-[Desktop Entry]
-Type=Application
-_Name=Metacity
-Exec=metacity
-# name of loadable control center module
-X-GNOME-WMSettingsModule=metacity
-# name we put on the WM spec check window
-X-GNOME-WMName=Metacity
-# back compat only
-X-GnomeWMSettingsLibrary=metacity
-X-GNOME-Bugzilla-Bugzilla=GNOME
-X-GNOME-Bugzilla-Product=metacity
-X-GNOME-Bugzilla-Component=general
-X-GNOME-Autostart-Phase=WindowManager
-X-GNOME-Provides=windowmanager
-X-GNOME-Autostart-Notify=true
-
-[Window Manager]
-SessionManaged=true
diff --git a/data/greeter-autostart/orca-screen-reader.desktop.in b/data/greeter-autostart/orca-screen-reader.desktop.in
deleted file mode 100644
index 8bd89a54..00000000
--- a/data/greeter-autostart/orca-screen-reader.desktop.in
+++ /dev/null
@@ -1,16 +0,0 @@
-[Desktop Entry]
-_Name=Orca Screen Reader
-_Comment=Present on-screen information as speech or braille
-TryExec=orca
-Exec=orca --no-setup --disable main-window --disable splash-window --disable magnifier --enable speech --enable braille
-Icon=orca
-Terminal=false
-Type=Application
-StartupNotify=true
-Categories=GNOME;GTK;Accessibility;
-AutostartCondition=GNOME /desktop/gnome/applications/at/screen_reader_enabled
-X-GNOME-Provides=screen-reader
-X-GNOME-Bugzilla-Bugzilla=GNOME
-X-GNOME-Bugzilla-Product=orca
-X-GNOME-Bugzilla-Component=general
-
diff --git a/data/greeter-autostart/polkit-gnome-authentication-agent-1.desktop.in.in b/data/greeter-autostart/polkit-gnome-authentication-agent-1.desktop.in.in
deleted file mode 100644
index e398cf6d..00000000
--- a/data/greeter-autostart/polkit-gnome-authentication-agent-1.desktop.in.in
+++ /dev/null
@@ -1,5 +0,0 @@
-[Desktop Entry]
-Type=Application
-_Name=PolicyKit Authentication Agent
-Exec=@LIBEXECDIR@/polkit-gnome-authentication-agent-1
-OnlyShowIn=GNOME;