Codebase list gnome-settings-daemon / 3f6e81c
xsettings: Make it able to run on demand There's some changes in how this service is started: - Instead of it being part of the gnome-session target initialization chain, it now depends on a new gnome-session-x11-services target. Initialization of this target is left up in the air here, and may happen during startup or at any random point during the running session. The same analogous behavior will be seen at shutdown. - The Restart condition has been softened to on-abnormal, as unclean exits are somewhat unavoidable on Xwayland restart scenarios. Other crashes or abnormal signals should still be intercepted as usual, and lead to the fail whale. Carlos Garnacho authored 4 years ago Benjamin Berg committed 4 years ago
3 changed file(s) with 10 addition(s) and 9 deletion(s). Raw diff Collapse all Expand all
3333 endif
3434
3535 plugin_install_extra_wants = {
36 'xsettings': ['gnome-session-x11-services.target.wants/'],
3637 # 'dummy': ['required-started.target.wants/'],
37 # 'xsettings': ['gnome-session-x11.target.wants/'],
3838 # 'wacom': ['wacom.target.wants/'],
3939 # 'smartcard': ['smartcard.target.wants/'],
4040 }
106106 install_dir: systemd_userunitdir
107107 )
108108
109 wants = ['gnome-session-initialized.target.wants/']
109 wants = []
110 if plugin_name != 'xsettings'
111 wants += ['gnome-session-initialized.target.wants/']
112 endif
113
110114 if plugin_name in plugin_install_extra_wants
111115 wants += [plugin_install_extra_wants[plugin_name]]
112116 endif
88 RefuseManualStop=true
99
1010 PartOf=gsd-xsettings.target
11 After=gnome-session-initialized.target
1211
1312 [Service]
1413 Type=dbus
1514 ExecStart=@libexecdir@/gsd-xsettings
16 Restart=on-failure
15 Restart=on-abnormal
1716 BusName=@plugin_dbus_name@
88 PartOf=gnome-session-initialized.target
99 Before=gnome-session.target
1010
11 # Use something similar once appropriate an appropriate target exists for X11
12 #Requisite=gnome-session-x11.target
13 #After=gnome-session-x11.target
14 #PartOf=gnome-session-x11.target
15 # When done, also add the target to the meson.build file!
11 Requisite=gnome-session-x11-services.target
12 After=gnome-session-x11-services.target
13 PartOf=gnome-session-x11-services.target