summaryrefslogtreecommitdiff
path: root/data/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'data/meson.build')
-rw-r--r--data/meson.build43
1 files changed, 39 insertions, 4 deletions
diff --git a/data/meson.build b/data/meson.build
index bbcad589..cf068599 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -61,12 +61,38 @@ gdm_schema = configure_file(
install_data('locale.alias',
install_dir: get_option('datadir') / 'gdm',
)
+
+gdm_gnome_shell_component = 'org.gnome.Shell'
+gdm_gnome_session_required_components = [
+ 'org.gnome.SettingsDaemon.A11ySettings',
+ 'org.gnome.SettingsDaemon.Color',
+ 'org.gnome.SettingsDaemon.Datetime',
+ 'org.gnome.SettingsDaemon.Housekeeping',
+ 'org.gnome.SettingsDaemon.Keyboard',
+ 'org.gnome.SettingsDaemon.MediaKeys',
+ 'org.gnome.SettingsDaemon.Power',
+ 'org.gnome.SettingsDaemon.PrintNotifications',
+ 'org.gnome.SettingsDaemon.Rfkill',
+ 'org.gnome.SettingsDaemon.ScreensaverProxy',
+ 'org.gnome.SettingsDaemon.Sharing',
+ 'org.gnome.SettingsDaemon.Smartcard',
+ 'org.gnome.SettingsDaemon.Sound',
+ 'org.gnome.SettingsDaemon.Wacom',
+]
+
+gdm_gnome_user_session_wanted_components = gdm_gnome_session_required_components
+gdm_gnome_user_session_wanted_components += [
+ 'org.gnome.SettingsDaemon.XSettings',
+]
+
configure_file(
input: 'gnome-login.session.in',
output: '@BASENAME@',
configuration: {
'libexecdir': gdm_prefix / get_option('libexecdir'),
'check_accelerated_dir': check_accelerated_dir,
+ 'gnome_required_components': ';'.join(
+ [ gdm_gnome_shell_component ] + gdm_gnome_session_required_components),
},
install_dir: get_option('datadir') / 'gnome-session' / 'sessions',
)
@@ -165,10 +191,19 @@ configure_file(
format: 'cmake'
)
-install_data(
- 'session.conf',
- rename: join_paths('gnome-session@gnome-login.target.d', 'session.conf'),
- install_dir: systemd_userunitdir,
+gdm_gnome_session_wanted_targets = []
+foreach component: gdm_gnome_user_session_wanted_components
+ gdm_gnome_session_wanted_targets += 'Wants=@0@.target'.format(component)
+endforeach
+
+configure_file(
+ input: 'session.conf.in',
+ output: 'session.conf',
+ configuration: {
+ 'requires_component': gdm_gnome_shell_component,
+ 'wants_required_components': '\n'.join(gdm_gnome_session_wanted_targets),
+ },
+ install_dir: systemd_userunitdir / 'gnome-session@gnome-login.target.d',
)
# XSession