diff options
Diffstat (limited to 'data/meson.build')
-rw-r--r-- | data/meson.build | 43 |
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 |