[gnome-session/benzea/systemd-new-session-config: 5/7] data: Configure session using a drop-in
- From: Benjamin Berg <bberg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-session/benzea/systemd-new-session-config: 5/7] data: Configure session using a drop-in
- Date: Fri, 3 Jan 2020 16:39:27 +0000 (UTC)
commit 406013b959ddfdfd61beb8fc993218b71ee483d4
Author: Benjamin Berg <bberg redhat com>
Date: Tue Dec 10 16:42:13 2019 +0100
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.
data/gnome-session-wayland.target | 4 ----
data/gnome-session-x11.target | 4 ----
data/gnome.session.conf | 19 +++++++++++++++++++
data/gnome.session.desktop.in.in | 1 +
data/meson.build | 6 ++++++
5 files changed, 26 insertions(+), 8 deletions(-)
---
diff --git a/data/gnome-session-wayland.target b/data/gnome-session-wayland.target
index 8ddc97d0..6552b4d4 100644
--- a/data/gnome-session-wayland.target
+++ b/data/gnome-session-wayland.target
@@ -11,7 +11,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 52ce6aff..e13cc9ee 100644
--- a/data/gnome-session-x11.target
+++ b/data/gnome-session-x11.target
@@ -14,7 +14,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..7049a794
--- /dev/null
+++ b/data/gnome.session.conf
@@ -0,0 +1,19 @@
+[Unit]
+# Keep in sync with gnome.session
+Wants=gsd-a11y-settings.target
+Wants=gsd-keyboard.target
+Wants=gsd-rfkill.target
+Wants=gsd-sound.target
+Wants=gsd-color.target
+Wants=gsd-media-keys.target
+Wants=gsd-screensaver-proxy.target
+Wants=gsd-wacom.target
+Wants=gsd-datetime.target
+Wants=gsd-power.target
+Wanst=gsd-sharing.target
+Wants=gsd-wwan.target
+Wants=gsd-housekeeping.target
+Wants=gsd-print-notifications.target
+Wants=gsd-smartcard.target
+
+Requires=gnome-shell.target
diff --git a/data/gnome.session.desktop.in.in b/data/gnome.session.desktop.in.in
index fd6e5af5..b5e5d5b8 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.Wacom;org.gnome.SettingsDaemon.XSettings;
diff --git a/data/meson.build b/data/meson.build
index 62f32880..6bc1ccb4 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -133,6 +133,12 @@ if enable_systemd_session
systemd_target,
install_dir: systemd_userunitdir
)
+
+ install_data(
+ 'gnome.session.conf',
+ rename: join_paths('gnome-session@gnome.target.d', 'session.conf'),
+ install_dir: systemd_userunitdir,
+ )
endif
data = files('hardware-compatibility')
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]