af5aff3251
Commit 799bbdb50
split out the public Fdo notification service, so
that any app with permission to talk to org.freedesktop.Notifications
will in fact be limited to that service.
To a somewhat lesser extent this applies to the org.gnome.ScreenSaver
service as well, which some applications still use instead of the
Inhibit portal.
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3452
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1520>
50 lines
1.2 KiB
Meson
50 lines
1.2 KiB
Meson
launcherconf = configuration_data()
|
|
launcherconf.set('PACKAGE_NAME', meson.project_name())
|
|
launcherconf.set('prefix', prefix)
|
|
launcherconf.set('libdir', libdir)
|
|
|
|
dbus_services = {
|
|
'org.gnome.Shell.Extensions': 'extensions',
|
|
'org.gnome.Shell.Notifications': 'notifications',
|
|
'org.gnome.ScreenSaver': 'screensaver',
|
|
}
|
|
|
|
if enable_recorder
|
|
dbus_services += {
|
|
'org.gnome.Shell.Screencast': 'screencast',
|
|
}
|
|
endif
|
|
|
|
config_dir = '@0@/..'.format(meson.current_build_dir())
|
|
|
|
foreach service, dir : dbus_services
|
|
configure_file(
|
|
input: 'dbus-service.in',
|
|
output: service,
|
|
configuration: launcherconf,
|
|
install_dir: pkgdatadir,
|
|
)
|
|
|
|
serviceconf = configuration_data()
|
|
serviceconf.set('service', service)
|
|
serviceconf.set('gjs', gjs.path())
|
|
serviceconf.set('pkgdatadir', pkgdatadir)
|
|
|
|
configure_file(
|
|
input: 'dbus-service.service.in',
|
|
output: service + '.service',
|
|
configuration: serviceconf,
|
|
install_dir: servicedir
|
|
)
|
|
|
|
gnome.compile_resources(
|
|
service + '.src',
|
|
service + '.src.gresource.xml',
|
|
dependencies: [config_js],
|
|
source_dir: ['.', '..', dir, config_dir],
|
|
gresource_bundle: true,
|
|
install: true,
|
|
install_dir: pkgdatadir
|
|
)
|
|
endforeach
|