1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
From 6eefa4ef615e24688d20847afcb5fddb31a69774 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?No=C3=A9=20Lopez?= <noelopez@free.fr>
Date: Wed, 15 Apr 2026 08:34:03 +0200
Subject: [PATCH] Revert "plugins: Drop .desktop files"
This reverts commit 242752d489b40f7cac20fc244a76eac8572cd955.
---
meson.build | 2 ++
plugins/meson.build | 25 +++++++++++++++++--
.../org.gnome.SettingsDaemon.Dummy.desktop.in | 7 ++++++
.../org.gnome.SettingsDaemon.Real.desktop.in | 10 ++++++++
4 files changed, 42 insertions(+), 2 deletions(-)
create mode 100644 plugins/org.gnome.SettingsDaemon.Dummy.desktop.in
create mode 100644 plugins/org.gnome.SettingsDaemon.Real.desktop.in
diff --git a/meson.build b/meson.build
index b1d5c53c..b69e3e1d 100644
--- a/meson.build
+++ b/meson.build
@@ -37,6 +37,8 @@ gsd_pkglibdir = join_paths(gsd_libdir, gsd_api_name)
gsd_schemadir = join_paths(gsd_datadir, 'glib-2.0', 'schemas')
+gsd_xdg_autostart = join_paths(gsd_sysconfdir, 'xdg', 'autostart')
+
gsd_3_0_api_name = '@0@-@1@'.format(meson.project_name(), '3.0')
gsd_gtk_modules_directory = join_paths(gsd_libdir, gsd_3_0_api_name, 'gtk-modules')
diff --git a/plugins/meson.build b/plugins/meson.build
index fae3fc9e..68c79410 100644
--- a/plugins/meson.build
+++ b/plugins/meson.build
@@ -82,15 +82,36 @@ foreach plugin: all_plugins
plugin_description = plugin[2]
plugin_dbus_name='org.gnome.SettingsDaemon.@0@'.format(plugin_name_case)
+ desktop = 'org.gnome.SettingsDaemon.@0@.desktop'.format(plugin[1])
+
+ if disabled_plugins.contains(plugin_name)
+ desktop_in_file = files('org.gnome.SettingsDaemon.Dummy.desktop.in')
+ else
+ desktop_in_file = files('org.gnome.SettingsDaemon.Real.desktop.in')
+ endif
+
cflags = [
'-DG_LOG_DOMAIN="@0@-plugin"'.format(plugin_name),
'-DPLUGIN_NAME="@0@"'.format(plugin_name),
'-DPLUGIN_DBUS_NAME="@0@"'.format(plugin_dbus_name),
] + plugins_cflags
+ desktop = 'org.gnome.SettingsDaemon.@0@.desktop'.format(plugin[1])
+ desktop_conf = configuration_data()
+ desktop_conf.set('libexecdir', gsd_libexecdir)
+ desktop_conf.set('systemd_hidden', enable_systemd ? 'true' : 'false')
+ desktop_conf.set('pluginname', plugin_name)
+ desktop_conf.set('description', plugin_description)
+ configure_file(
+ input: desktop_in_file,
+ output: desktop,
+ configuration: desktop_conf,
+ install_dir: gsd_xdg_autostart
+ )
+
if not disabled_plugins.contains(plugin_name)
- user_target = 'org.gnome.SettingsDaemon.@0@.target'.format(plugin_name_case)
- user_service = 'org.gnome.SettingsDaemon.@0@.service'.format(plugin_name_case)
+ user_target = 'org.gnome.SettingsDaemon.@0@.target'.format(plugin[1])
+ user_service = 'org.gnome.SettingsDaemon.@0@.service'.format(plugin[1])
unit_conf = configuration_data()
unit_conf.set('plugin_name', plugin_name)
diff --git a/plugins/org.gnome.SettingsDaemon.Dummy.desktop.in b/plugins/org.gnome.SettingsDaemon.Dummy.desktop.in
new file mode 100644
index 00000000..f4cc7a27
--- /dev/null
+++ b/plugins/org.gnome.SettingsDaemon.Dummy.desktop.in
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Type=Application
+Name=GNOME Settings Daemon's @pluginname@ dummy autostart file
+Exec=false
+OnlyShowIn=GNOME;
+NoDisplay=true
+Hidden=true
diff --git a/plugins/org.gnome.SettingsDaemon.Real.desktop.in b/plugins/org.gnome.SettingsDaemon.Real.desktop.in
new file mode 100644
index 00000000..3034e712
--- /dev/null
+++ b/plugins/org.gnome.SettingsDaemon.Real.desktop.in
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Type=Application
+Name=@description@
+Exec=@libexecdir@/gsd-@pluginname@
+OnlyShowIn=GNOME;
+NoDisplay=true
+X-GNOME-Autostart-Phase=Initialization
+X-GNOME-Autostart-Notify=true
+X-GNOME-AutoRestart=true
+X-GNOME-HiddenUnderSystemd=@systemd_hidden@
--
2.52.0
|