diff options
author | Benjamin Berg <bberg@redhat.com> | 2019-12-10 16:42:13 +0100 |
---|---|---|
committer | Benjamin Berg <benjamin@sipsolutions.net> | 2020-07-31 08:54:40 +0000 |
commit | fab051841f082fc160438f1f8cf9afc465a33dfa (patch) | |
tree | bb680e524fe940ff965a3ec0aeaaf886a1fe725c /data | |
parent | 54137921bff67829f47e0b5d778fd9fba227b7e2 (diff) | |
download | gnome-session-fab051841f082fc160438f1f8cf9afc465a33dfa.tar.gz |
data: Configure session using a drop-in
During the GNOME 3.34 times when systemd support was still added, all
the session components pulled in themselves or were explicitly pulled by
GNOME session. However, doing this makes it really hard to create a
custom session or to modify the existing sessions in some way.
Change things so that we pull in all the dependencies for each session
type independently. This works using a drop-in for the
gnome-session@.target and all GNOME session users will need to provide
such a drop-in or pass --builtin to gnome-session.
Diffstat (limited to 'data')
-rw-r--r-- | data/gnome-session-wayland.target | 4 | ||||
-rw-r--r-- | data/gnome-session-x11.target | 4 | ||||
-rw-r--r-- | data/gnome.session.conf | 20 | ||||
-rw-r--r-- | data/gnome.session.desktop.in.in | 1 | ||||
-rw-r--r-- | data/meson.build | 6 |
5 files changed, 27 insertions, 8 deletions
diff --git a/data/gnome-session-wayland.target b/data/gnome-session-wayland.target index a0f18517..29f95c54 100644 --- a/data/gnome-session-wayland.target +++ b/data/gnome-session-wayland.target @@ -8,7 +8,3 @@ Before=gnome-session.target PartOf=graphical-session.target RefuseManualStart=yes RefuseManualStop=yes - -# Always pull in the correct gnome-shell target -BindsTo=gnome-shell-wayland.target -After=gnome-shell-wayland.target diff --git a/data/gnome-session-x11.target b/data/gnome-session-x11.target index 3c0c18ef..67dec0f0 100644 --- a/data/gnome-session-x11.target +++ b/data/gnome-session-x11.target @@ -11,7 +11,3 @@ RefuseManualStop=yes # Pull in all X11-specific services the session might depend on Requires=gnome-session-x11-services.target - -# Always pull in the correct gnome-shell target -BindsTo=gnome-shell-x11.target -After=gnome-shell-x11.target diff --git a/data/gnome.session.conf b/data/gnome.session.conf new file mode 100644 index 00000000..4de5c0cc --- /dev/null +++ b/data/gnome.session.conf @@ -0,0 +1,20 @@ +[Unit] +# Keep in sync with gnome.session +Wants=org.gnome.SettingsDaemon.A11ySettings.target +Wants=org.gnome.SettingsDaemon.Color.target +Wants=org.gnome.SettingsDaemon.Datetime.target +Wants=org.gnome.SettingsDaemon.Housekeeping.target +Wants=org.gnome.SettingsDaemon.Keyboard.target +Wants=org.gnome.SettingsDaemon.MediaKeys.target +Wants=org.gnome.SettingsDaemon.Power.target +Wants=org.gnome.SettingsDaemon.PrintNotifications.target +Wants=org.gnome.SettingsDaemon.Rfkill.target +Wants=org.gnome.SettingsDaemon.ScreensaverProxy.target +Wants=org.gnome.SettingsDaemon.Sharing.target +Wants=org.gnome.SettingsDaemon.Smartcard.target +Wants=org.gnome.SettingsDaemon.Sound.target +Wants=org.gnome.SettingsDaemon.UsbProtection.target +Wants=org.gnome.SettingsDaemon.Wacom.target +Wants=org.gnome.SettingsDaemon.XSettings.target + +Requires=org.gnome.Shell.target diff --git a/data/gnome.session.desktop.in.in b/data/gnome.session.desktop.in.in index 6c70f540..f3aaabce 100644 --- a/data/gnome.session.desktop.in.in +++ b/data/gnome.session.desktop.in.in @@ -1,3 +1,4 @@ [GNOME Session] Name=GNOME +# Keep in sync with gnome-session@gnome.target.d/session.conf drop-in RequiredComponents=org.gnome.Shell;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.UsbProtection;org.gnome.SettingsDaemon.Wacom;org.gnome.SettingsDaemon.XSettings; diff --git a/data/meson.build b/data/meson.build index abf44957..2cc62cd0 100644 --- a/data/meson.build +++ b/data/meson.build @@ -132,6 +132,12 @@ if enable_systemd_session rename: 'override.conf', install_dir : join_paths(systemd_userunitdir, 'gnome-launched-.scope.d') ) + + install_data( + 'gnome.session.conf', + rename: join_paths('gnome-session@gnome.target.d', 'session.conf'), + install_dir: systemd_userunitdir, + ) endif data = files('hardware-compatibility') |