summaryrefslogtreecommitdiff
path: root/plugins/media-keys
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/media-keys')
-rw-r--r--plugins/media-keys/gsd-media-keys.service.in18
-rw-r--r--plugins/media-keys/gsd-media-keys.target.in10
-rw-r--r--plugins/media-keys/org.gnome.SettingsDaemon.MediaKeys.desktop.in1
3 files changed, 29 insertions, 0 deletions
diff --git a/plugins/media-keys/gsd-media-keys.service.in b/plugins/media-keys/gsd-media-keys.service.in
new file mode 100644
index 00000000..0b715b6b
--- /dev/null
+++ b/plugins/media-keys/gsd-media-keys.service.in
@@ -0,0 +1,18 @@
+[Unit]
+Description=GNOME Media keys handling
+# Note that we do the shenanigans with having a target and a service solely
+# so that OnFailure is not called in case of a dependency failure.
+# See also https://github.com/systemd/systemd/issues/12352
+OnFailure=gnome-session-failed.target
+CollectMode=inactive-or-failed
+RefuseManualStart=true
+RefuseManualStop=true
+
+PartOf=gsd-media-keys.target
+After=gnome-session-initialized.target
+
+[Service]
+Type=dbus
+ExecStart=@libexecdir@/gsd-media-keys
+Restart=on-failure
+BusName=@plugin_dbus_name@
diff --git a/plugins/media-keys/gsd-media-keys.target.in b/plugins/media-keys/gsd-media-keys.target.in
new file mode 100644
index 00000000..519738bb
--- /dev/null
+++ b/plugins/media-keys/gsd-media-keys.target.in
@@ -0,0 +1,10 @@
+[Unit]
+Description=GNOME Media keys handling
+
+BindsTo=gsd-media-keys.service
+After=gsd-media-keys.service
+
+Requisite=gnome-session-initialized.target
+After=gnome-session-initialized.target
+PartOf=gnome-session-initialized.target
+Before=gnome-session.target
diff --git a/plugins/media-keys/org.gnome.SettingsDaemon.MediaKeys.desktop.in b/plugins/media-keys/org.gnome.SettingsDaemon.MediaKeys.desktop.in
index de53c3f1..58f4cf4e 100644
--- a/plugins/media-keys/org.gnome.SettingsDaemon.MediaKeys.desktop.in
+++ b/plugins/media-keys/org.gnome.SettingsDaemon.MediaKeys.desktop.in
@@ -7,3 +7,4 @@ NoDisplay=true
X-GNOME-Autostart-Phase=Initialization
X-GNOME-Autostart-Notify=true
X-GNOME-AutoRestart=true
+X-GNOME-HiddenUnderSystemd=@systemd_hidden@